#!/usr/bin/env python
# -*- coding: utf-8 -*-#
#-----------------------------------------------------------------------------
# Name: setup.py
# Purpose: Vari tipi di buildings per il package DIETA
#
# Author: Licia Leanza
# E-mail: dieta.sw@gmail.com
#
# Created: 15-01-08
# RCS-ID: $Id: setup.py 25 2010-02-02 19:05:53Z licia $
# Copyright: (c) Licia Leanza: 2007-2009
# Licence: GPL v2
# Package: DIETA
#-----------------------------------------------------------------------------
__version__ = '0.3.3'
if __name__=="__main__":
import sys, os
import glob
if 'CXF' in sys.argv:
# cx_Freeze: per ora non lo utilizzo xke' non sono riuscita a farlo
# funzionare propriamente
# neanche la versione 4 funziona ==> commuto su PyInstaller
print 'generazione cx_Freeze'
sys.argv.remove('CXF')
from cx_Freeze import setup, Executable
setup(
name = "dieta",
version = __version__,
description='Diario alimentare per una dieta ',
executables = [ Executable("dieta.py", icon = "icons/dieta.ico",
includes =["sip", 'PyQt4.QtSvg'], # anche in questo modo non c'e'
packages = ['PyQt4.Qwt5'], # verso di fargli importatre QtSvg
copyDependentFiles=True),
],
data_files=[("", ["diet.vuoto", "clap.wav", "README.txt", "LICENSE",
"ChangeLog", "ricette.xml",
"AggiornamentoDefinizioniAlimenti.tsv",
"AggiornamentoDefinizioniAlimenti.xml", ]),
("icons", glob.glob(os.path.join("icons", "*"))),
(os.path.join("doc","man"),
glob.glob(os.path.join("doc","man","*"))),
],# ... e poi non copia neanche i files aggiuntivi
)
sys.exit(0)
from distutils.core import setup
try:
import py2exe
sys.argv.append('py2exe')
WIN = True
except:
WIN = False
try:
import py2app
sys.argv.append('py2app')
MAC = True
except:
MAC = False
#---altrimenti---------------WINDOWS--------------------------------------
if WIN:
print 'generazione WINDOWS'
setup(name = 'dieta',
version = __version__,
windows=[{"script":"dieta.py",
"icon_resources": [(1, "icons/dieta.ico")]}],
data_files=[("", ["diet.vuoto", "clap.wav","README.txt", "LICENSE",
"ChangeLog", "ricette.xml",
"AggiornamentoDefinizioniAlimenti.tsv",
"AggiornamentoDefinizioniAlimenti.xml", ]),
("icons", glob.glob(os.path.join("icons", "*"))),
("foto", glob.glob(os.path.join("foto", "*"))),
(os.path.join("doc","man"),
glob.glob(os.path.join("doc","man","*"))),
],
options = {'py2exe': {
# not implemented jet!!! "unbuffered": 1,
"compressed": 1,
"optimize": 2,
"ascii": 1,
"bundle_files": 1,
"packages": ["encodings"],
"includes":["sip", "PyQt4._qt",'PyQt4.QtSvg'],
'excludes': ["Tkconstants","Tkinter","tcl"]
}
},
zipfile = None,
)
#---altrimenti---------------MAC-OsX--------------------------------------
if MAC:
print 'generazione MAC'
print '---------------------ATTENZIONE---------------------------'
print 'IL N. DI VERSIONE DI QT4 VA CAMBIATO A MANO NEL SETUP FILE'
print '---------------------ATTENZIONE---------------------------'
setup(name = 'dieta',
version = __version__,
app=[{"script":"dieta.py",
"icon_resources": [(1, "icons/dieta.ico")]}],
data_files=[("", ["diet.vuoto", "clap.wav","README.txt", "LICENSE",
"ChangeLog", "ricette.xml",
"AggiornamentoDefinizioniAlimenti.tsv",
"AggiornamentoDefinizioniAlimenti.xml", ]),
("icons", glob.glob(os.path.join("icons", "*.*"))),
("foto", glob.glob(os.path.join("foto", "*.*"))),
(os.path.join("doc","man"),
glob.glob(os.path.join("doc","man","*.*"))),
(os.path.join("plugins","sqldrivers"),
(glob.glob('/usr/local/Trolltech/Qt-4.3.4/plugins/sqldrivers/*.*'))),
(os.path.join("plugins","imageformats"),
(glob.glob('/usr/local/Trolltech/Qt-4.3.4/plugins/imageformats/*.*'))),
],
options = {'py2app': {
"compressed": 1,
"optimize": 2,
'argv_emulation':1,
"packages": ["encodings"],
"includes":["sip", 'PyQt4.QtSvg'],
'excludes': ["Tkconstants","Tkinter","tcl"]
}
},
)
else:
print 'generazione distutils'
setup(name = 'dieta',
version = __version__,
description='Diario alimentare per una dieta ',
author='ilochab',
author_email='dieta.sw@gmail.com',
url='http://sites.google.com/site/dietasw/',
download_url='https://sourceforge.net/projects/dieta/files/latest',
long_description = """
Questo programma offre la funzionalita' di mantenimento di un diario
giornaliero dei propri consumi alimentari con il supporto di un ricco DB
contenente la composizione di un notevole numero di alimenti.
""",
classifiers=['Desktop application','GUI'],
packages=[''],
## packages=['dieta'],
## package_data={"dieta":["diet.vuoto", "clap.wav","README.txt","LICENSE","ChangeLog",
## os.path.join("icons", "*"),
## os.path.join("doc","man","*")
## ]}
# sdist legge MANIFEST.in ma install legge data_files !!!
data_files=[("", ["diet.vuoto", "clap.wav","README.txt", "LICENSE",
"ChangeLog", "ricette.xml",
"AggiornamentoDefinizioniAlimenti.tsv",
"AggiornamentoDefinizioniAlimenti.xml", ]),
("icons", glob.glob(os.path.join("icons", "*"))),
("foto", glob.glob(os.path.join("foto", "*"))),
(os.path.join("doc","man"),
glob.glob(os.path.join("doc","man","*")))
],
)