Removed files that I was working on for setup.py because Jerome Rapinat's work was much better and more complete.

svn: r19035
This commit is contained in:
Rob G. Healey 2012-03-09 23:15:31 +00:00
parent f6b12cfc9a
commit 31dcf7b990
2 changed files with 0 additions and 233 deletions

View File

@ -1,29 +0,0 @@
# -*- coding: utf-8 -*-
#!/usr/bin/env python
#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2012 Rob G. Healey <robhealey1@gmail.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# 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, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# $Id$
"""
Gramps Version provides our package name and version number
"""
APP_NAME = 'Gramps'
APP_VERSION = '3.5.0'

View File

@ -1,204 +0,0 @@
#!/usr/bin/env python
#------------------------------------------------------
# python modules
#------------------------------------------------------
from distutils.core import setup
from distutils.dist import Distribution
from distutils.cmd import Command
from distutils.command.install_data import install_data
from distutils.command.build import build
from distutils.dep_util import newer
from distutils.log import warn, info, error
from distutils.errors import DistutilsFileError
import glob
import os
import sys
import subprocess
import platform
#------------------------------------------------------
# Internationalism/ Translations
#------------------------------------------------------
from gen.gettext import gettext as _
#-----------------------------------------------------
# Gramps modules
#-----------------------------------------------------
from data.grampsversion import APP_NAME, APP_VERSION
PO_DIR = 'po'
MO_DIR = os.path.join('build', 'mo')
class GrampsDist(Distribution):
global_options = Distribution.global_options + [
("without-gettext", None, "Don't build/install gettext .mo files"),
("without-icon-cache", None, "Don't attempt to run gtk-update-icon-cache")]
def __init__ (self, *args):
self.without_gettext = False
self.without_icon_cache = False
Distribution.__init__(self, *args)
class BuildData(build):
def run (self):
build.run (self)
if self.distribution.without_gettext:
return
for po in glob.glob (os.path.join (PO_DIR, '*.po')):
lang = os.path.basename(po[:-3])
mo = os.path.join(MO_DIR, lang, 'gramps.mo')
directory = os.path.dirname(mo)
if not os.path.exists(directory):
info('creating %s' % directory)
os.makedirs(directory)
if newer(po, mo):
info('compiling %s -> %s' % (po, mo))
try:
rc = subprocess.call(['msgfmt', '-o', mo, po])
if rc != 0:
raise Warning, "msgfmt returned %d" % rc
except Exception, e:
error("Building gettext files failed. Try setup.py --without-gettext [build|install]")
error("Error: %s" % str(e))
sys.exit(1)
TOP_BUILDDIR='.'
INTLTOOL_MERGE='intltool-merge'
desktop_in='data/gramps.desktop.in'
desktop_data='data/gramps.desktop'
os.system ("C_ALL=C " + INTLTOOL_MERGE + " -d -u -c " + TOP_BUILDDIR +
"/po/.intltool-merge-cache " + TOP_BUILDDIR + "/po " +
desktop_in + " " + desktop_data)
class Uninstall(Command):
description = "Attempt an uninstall from an install --record file"
user_options = [('manifest=', None, 'Installation record filename')]
def initialize_options(self):
self.manifest = None
def finalize_options(self):
pass
def get_command_name(self):
return 'uninstall'
def run(self):
f = None
self.ensure_filename('manifest')
try:
try:
if not self.manifest:
raise DistutilsFileError("Pass manifest with --manifest=file")
f = open(self.manifest)
files = [file.strip() for file in f]
except IOError, e:
raise DistutilsFileError("unable to open install manifest: %s", str(e))
finally:
if f:
f.close()
for file in files:
if os.path.isfile(file) or os.path.islink(file):
info("removing %s" % repr(file))
if not self.dry_run:
try:
os.unlink(file)
except OSError, e:
warn("could not delete: %s" % repr(file))
elif not os.path.isdir(file):
info("skipping %s" % repr(file))
dirs = set()
for file in reversed(sorted(files)):
dir = os.path.dirname(file)
if dir not in dirs and os.path.isdir(dir) and len(os.listdir(dir)) == 0:
dirs.add(dir)
# Only nuke empty Python library directories, else we could destroy
# e.g. locale directories we're the only app with a .mo installed for.
if dir.find("site-packages/") > 0:
info("removing %s" % repr(dir))
if not self.dry_run:
try:
os.rmdir(dir)
except OSError, e:
warn("could not remove directory: %s" % str(e))
else:
info("skipping empty directory %s" % repr(dir))
class InstallData(install_data):
def run (self):
self.data_files.extend (self._find_mo_files ())
install_data.run (self)
if not self.distribution.without_icon_cache:
self._update_icon_cache ()
# We should do this on uninstall too
def _update_icon_cache(self):
info("running gtk-update-icon-cache")
try:
subprocess.call(["gtk-update-icon-cache", "-q", "-f", "-t", os.path.join(self.install_dir, "share/icons/hicolor")])
except Exception, e:
warn("updating the GTK icon cache failed: %s" % str(e))
def _find_mo_files (self):
data_files = []
if not self.distribution.without_gettext:
for mo in glob.glob (os.path.join (MO_DIR, '*', 'gramps.mo')):
lang = os.path.basename(os.path.dirname(mo))
dest = os.path.join('share', 'locale', lang, 'LC_MESSAGES')
data_files.append((dest, [mo]))
return data_files
if platform.system() == 'FreeBSD':
man_dir = 'man'
else:
man_dir = 'share/man'
setup(name = APP_NAME.capitalize(),
version = APP_VERSION,
description = (_('Gramps is a Free/OpenSource genealogy program. It is written in Python, using the GTK+/GNOME interface. '
'Gramps should seem familiar to anyone who has used other genealogy programs before such as '
'Family Tree Maker (TM), Personal Ancestral Files (TM), or the GNU Geneweb. It supports '
'importing of the ever popular GEDCOM format which is used world wide by almost all other '
'genealogy software.')),
author = 'Gramps Development Team',
author_email = 'don@gramps-project.org',
url = 'http://gramps-project.org/',
license = 'GNU GPL v2 or greater',
scripts = ['gramps', 'gramps'],
data_files = [
('share/applications', ['data/gramps.desktop']),
(os.path.join(man_dir, 'man1'), ['data/man/gramps.1.in']),
('share/pixmaps', ['data/icons/48x48/apps/terminator.png']),
('share/icons/hicolor/scalable/apps', glob.glob('data/icons/scalable/apps/*.svg')),
('share/icons/hicolor/16x16/apps', glob.glob('data/icons/16x16/apps/*.png')),
('share/icons/hicolor/22x22/apps', glob.glob('data/icons/22x22/apps/*.png')),
('share/icons/hicolor/24x24/apps', glob.glob('data/icons/24x24/apps/*.png')),
('share/icons/hicolor/32x32/apps', glob.glob('data/icons/32x32/apps/*.png')),
('share/icons/hicolor/48x48/apps', glob.glob('data/icons/48x48/apps/*.png')),
('share/icons/hicolor/16x16/actions', glob.glob('data/icons/16x16/actions/*.png')),
('share/icons/hicolor/16x16/status',
glob.glob('data/icons/16x16/status/*.png')),
],
packages=['terminatorlib', 'terminatorlib.configobj',
'terminatorlib.plugins'],
package_data={'terminatorlib': ['preferences.glade']},
cmdclass={'build': BuildData, 'install_data': InstallData, 'uninstall': Uninstall},
distclass=TerminatorDist
)
is a Free/OpenSource genealogy program. It is written in Python, using the GTK+/GNOME interface. Gramps should seem familiar to anyone who
has used other genealogy programs before such as Family Tree Maker (TM), Personal Ancestral Files (TM), or the GNU Geneweb. It supports importing
of the ever popular GEDCOM format which is used world wide by almost all other genealogy software.