[Skencil-commits] r710 - skencil/branches/skencil-0.6
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Wed Sep 22 14:35:59 CEST 2010
Author: igor_n
Date: 2010-09-22 14:35:58 +0200 (Wed, 22 Sep 2010)
New Revision: 710
Modified:
skencil/branches/skencil-0.6/MANIFEST.in
skencil/branches/skencil-0.6/README
skencil/branches/skencil-0.6/setup.cfg
skencil/branches/skencil-0.6/setup.py
Log:
distutils build is introduced
Modified: skencil/branches/skencil-0.6/MANIFEST.in
===================================================================
--- skencil/branches/skencil-0.6/MANIFEST.in 2010-09-22 12:31:26 UTC (rev 709)
+++ skencil/branches/skencil-0.6/MANIFEST.in 2010-09-22 12:35:58 UTC (rev 710)
@@ -0,0 +1,9 @@
+include MANIFEST.in setup.cfg
+
+include src/skencil
+include src/Sketch/VERSION
+
+recursive-include src/extensions *.*
+
+recursive-include src/Resources *.*
+include src/Resources/Misc/tkdefaults
\ No newline at end of file
Modified: skencil/branches/skencil-0.6/README
===================================================================
--- skencil/branches/skencil-0.6/README 2010-09-22 12:31:26 UTC (rev 709)
+++ skencil/branches/skencil-0.6/README 2010-09-22 12:35:58 UTC (rev 710)
@@ -0,0 +1,213 @@
+
+What Is Skencil?
+===============
+
+Skencil is an interactive vector drawing program for X (similar to XFig
+or tgif). It is written almost completely in Python, an object oriented
+interpreted programming language.
+
+This is a stable release. It is quite featureful and usable, but there
+are still things missing that I want in a 1.0 release, hence the low
+version number.
+
+To compile and run Skencil, you need some additional software. Have a look
+at the file INSTALL to see what you need and how to install Skencil.
+
+Skencil was originally named "Sketch" (it was renamed with release
+0.6.16) and the name "Sketch" is still used is many places.
+
+
+Resources:
+==========
+
+Change-Log:
+
+ See the file NEWS and Plugins/ChangeLog for plugin specific
+ changes
+
+Website:
+
+ http://www.skencil.org
+
+Mailing Lists:
+
+ Users:
+
+ http://lists.sourceforge.net/mailman/listinfo/sketch-list
+
+ Subscription through the web interface or by sending a mail with
+ the word subscribe in the subject to
+ <sketch-list-request at lists.sourceforge.net>
+
+ Developers:
+
+ http://mail.nongnu.org/mailman/listinfo/sketch-devel
+
+Bugs and Patches:
+
+ https://savannah.nongnu.org/projects/skencil/
+
+ Please report bugs to one of the mailing lists or through the
+ bug-tracker
+
+
+Features
+========
+
+Skencil already has the following features:
+
+ o Drawing primitives:
+ o Rectangles, with optional round corners
+ o Ellipses (full ellipses, arcs, pie slices, chords)
+ o Bezier curves (single and multi path)
+ o External images:
+ o Raster images: JPEG, GIF,...
+ (all types the Python Imaging Library can read)
+ o Encapsulated PostScript (EPS)
+ o Text
+
+ o All objects, including images and text, can be rotated,
+ scaled, sheared, etc. (all affine transformations are
+ possible)
+
+ o Primitives can usually have fill and line properties:
+
+ o Fill properties are patterns like solid colors,
+ gradients, tiled images and hatching.
+
+ o Line properties are currently a (solid) color, width,
+ dashes, cap and join styles and arrow heads. Patterns
+ instead of a single color are planned for the future.
+
+ o Special Effects and Features:
+
+ o Bezier curves, rectangles and ellipses can be used as
+ guides in addition to the standard vertical and
+ horizontal guide lines.
+
+ o Blend Groups: Automatically updated interpolations of
+ arbitrary objects
+
+ o Text can be converted to bezier objects. (This only
+ works if skencil has access to the PostScript Type 1
+ font files (pfa or pfb)).
+
+ o Text along a Path
+
+ o Export file-formats:
+
+ o Encapsulated PostScript
+
+ o Adobe Illustrator files
+
+ o Scalable Vector Graphics (SVG)
+
+ o Import file-formats:
+
+ o XFig files (.fig) (incomplete)
+
+ o Adobe Illustrator files (.ai)
+
+ o Windows Meta File (WMF, Windows 3.1)
+
+ o Corel's CMX
+
+ o Scalable Vector Graphics (SVG)
+
+ o Unlimited undo history
+
+ o User scripts
+
+
+Limitations
+===========
+
+o Currently, only TrueColor visuals with depths of 15, 16, 24 or 32 bits
+ and 8-bit PseudoColor visuals are supported.
+
+o Rotated and otherwise transformed text requires (as far as I know) at
+ least X11R6. See below for more information on fonts.
+
+
+License
+=======
+
+Most of Skencil is released under the GNU Library General Public License
+(see the file COPYING for details). The only exceptions are the module
+Pax (in the Pax directory) and the stream filters (in the Filter
+directory). See the respective READMEs for details.
+
+
+Problems
+========
+
+There are some problems you may run into which can be solved by changing
+Skencil's configuration or the X-server's configuration.
+
+
+ImportError: No module named Image
+----------------------------------
+
+This message means that the Python Imaging Library (PIL) is not
+installed correctly. Follow the instrctions in the PIL README.
+
+
+
+Font Problems
+-------------
+
+
+Exception TclError: font "..." doesn't exist
+--------------------------------------------
+If you get a message like
+
+ Exception TclError: font "[some text with lots of hyphens]" doesn't
+ exist
+
+when browsing fonts in the font dialog, the reason is probably that
+Skencil tries to use fonts that are not installed in the X-server or the
+font server (if you use one). Refer to the ``User's Guide'' on how to
+install fonts and configure Skencil.
+
+
+
+Cannot load '[...]'
+-------------------
+When Skencil tries to display the drawing, you get messages like
+
+ Cannot load 'MyFont-Bold':
+ no such font
+
+This can have two reasons:
+
+1. Skencil tries to use fonts that are not installed in the X-server.
+ Refer to the ``User's Guide'' on how to install fonts and configure
+ Skencil.
+
+2. Your server cannot handle transformed fonts or maybe not even scaled
+ fonts. See the next section for details.
+
+
+
+Transformed Fonts
+-----------------
+
+To rotate, shear or otherwise transform fonts, Skencil relies on the
+capabilities of the server. This means, that the server has to be able
+to understand X font names of the form
+ `-*-*-*-*-*--[0 0 0 0]-*-*-*-*-0-*-*'.
+
+The `[0 0 0 0]' stands for a matrix describing the transformation (the
+zeros are replaced by the coefficients of that matrix). Not all servers
+support this. To find out if a server supports this run xlsfonts(1) like
+this:
+
+ $ xlsfonts -fn '-*-*-*-*-*--[0 0 0 0]-*-*-*-*-0-*-*'
+
+If your server supports this feature, a list of font names should be
+printed. You will probably get an error message otherwise.
+
+As far as I know, this syntax for transformed fonts was introduced in
+X11R6.
+
+
Modified: skencil/branches/skencil-0.6/setup.cfg
===================================================================
--- skencil/branches/skencil-0.6/setup.cfg 2010-09-22 12:31:26 UTC (rev 709)
+++ skencil/branches/skencil-0.6/setup.cfg 2010-09-22 12:35:58 UTC (rev 710)
@@ -0,0 +1,4 @@
+[bdist_rpm]
+release = 0
+packager = Igor Novikov <igor.e.novikov at gmail.com>
+provides = skencil
\ No newline at end of file
Modified: skencil/branches/skencil-0.6/setup.py
===================================================================
--- skencil/branches/skencil-0.6/setup.py 2010-09-22 12:31:26 UTC (rev 709)
+++ skencil/branches/skencil-0.6/setup.py 2010-09-22 12:35:58 UTC (rev 710)
@@ -0,0 +1,197 @@
+#!/usr/bin/env python
+#
+# Setup script for Skencil
+#
+# Copyright (C) 2010 Igor E. Novikov
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library 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
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+#
+
+# Usage:
+# --------------------------------------------------------------------------
+# to build package: python setup.py build
+# to install package: python setup.py install
+# --------------------------------------------------------------------------
+# to create source distribution: python setup.py sdist
+# --------------------------------------------------------------------------
+# to create binary RPM distribution: python setup.py bdist_rpm
+# --------------------------------------------------------------------------
+#
+# help on available distribution formats: python setup.py bdist --help-formats
+#
+
+import os
+
+
+COPY = False
+DEBIAN = False
+VERSION = '0.6.18pre'
+
+
+############################################################
+#
+# Main build procedure
+#
+############################################################
+
+if __name__ == "__main__":
+
+ from distutils.core import setup, Extension
+
+ src_path = 'src/'
+
+ filter_src = src_path + 'extensions/Filter/'
+
+ filter_module = Extension('skencil.Sketch.Modules.streamfilter',
+ define_macros=[('MAJOR_VERSION', '0'),
+ ('MINOR_VERSION', '6')],
+ sources=[filter_src + 'streamfilter.c', filter_src + 'filterobj.c', filter_src + 'linefilter.c',
+ filter_src + 'subfilefilter.c', filter_src + 'base64filter.c', filter_src + 'nullfilter.c',
+ filter_src + 'stringfilter.c', filter_src + 'binfile.c', filter_src + 'hexfilter.c'])
+
+ intl_src = src_path + 'extensions/Pax/'
+
+ intl_module = Extension('skencil.Sketch.Modules.intl',
+ define_macros=[('MAJOR_VERSION', '0'),
+ ('MINOR_VERSION', '6')],
+ sources=[intl_src + 'intl.c'])
+
+ type1mod_src=src_path+'extensions/Modules/'
+ type1mod_module = Extension('skencil.Sketch.Modules._type1module',
+ define_macros = [('MAJOR_VERSION', '0'),
+ ('MINOR_VERSION', '6')],
+ sources = [type1mod_src+'_type1module.c'])
+
+ skread_src=src_path+'extensions/Modules/'
+ skread_module = Extension('skencil.Sketch.Modules.skreadmodule',
+ define_macros = [('MAJOR_VERSION', '0'),
+ ('MINOR_VERSION', '9')],
+ sources = [skread_src+'skreadmodule.c'])
+
+ pstokenize_src=src_path+'extensions/Modules/'
+ pstokenize_module = Extension('skencil.Sketch.Modules.pstokenize',
+ define_macros = [('MAJOR_VERSION', '0'),
+ ('MINOR_VERSION', '6')],
+ sources = [pstokenize_src+'pstokenize.c', pstokenize_src+'pschartab.c'])
+
+
+ #Fix for Debian based distros
+ tcl_include_dirs = []
+ tcl_ver='8.4'
+ if os.path.isdir('/usr/include/tcl8.4'):
+ tcl_include_dirs = ['/usr/include/tcl8.4']
+
+
+ paxtkinter_src=src_path+'extensions/Pax/'
+ paxtkinter_module = Extension('skencil.Sketch.Modules.paxtkinter',
+ define_macros = [('MAJOR_VERSION', '1'),
+ ('MINOR_VERSION', '0')],
+ sources = [paxtkinter_src+'paxtkinter.c'],
+ include_dirs = tcl_include_dirs,
+ libraries=['tk'+tcl_ver, 'tcl'+tcl_ver])
+
+
+ pax_src=src_path+'extensions/Pax/'
+ pax_module = Extension('skencil.Sketch.Modules.paxmodule',
+ define_macros = [('MAJOR_VERSION', '0'),
+ ('MINOR_VERSION', '6')],
+ sources = [pax_src+'borderobject.c', pax_src+'clipmask.c', pax_src+'cmapobject.c',
+ pax_src+'fontobject.c', pax_src+'gcobject.c',# pax_src+'gcmethods.c',
+ pax_src+'imageobject.c', pax_src+'intl.c', pax_src+'paxmodule.c',
+ pax_src+'paxutil.c', pax_src+'pixmapobject.c', pax_src+'regionobject.c',
+ pax_src+'tkwinobject.c'],
+ include_dirs=tcl_include_dirs,
+ libraries=['X11', 'Xext', 'tk'+tcl_ver, 'tcl'+tcl_ver])
+
+ skmod_src=src_path+'extensions/Modules/'
+ skmod_module = Extension('skencil.Sketch.Modules._sketchmodule',
+ define_macros = [('MAJOR_VERSION', '0'),
+ ('MINOR_VERSION', '6')],
+ include_dirs=[src_path+'extensions/Pax/'],
+ sources = [skmod_src+'curvedraw.c', skmod_src+'curvefunc.c', skmod_src+'curvelow.c',
+ skmod_src+'curvemisc.c', skmod_src+'curveobject.c', skmod_src+'skaux.c',
+ skmod_src+'skcolor.c', skmod_src+'skdither.c', skmod_src+'_sketchmodule.c',
+ skmod_src+'skfm.c', skmod_src+'skimage.c', skmod_src+'skpoint.c',
+ skmod_src+'skrect.c', skmod_src+'sktrafo.c'],
+ libraries=['m', 'X11'])
+
+
+ setup (name='skencil',
+ version=VERSION,
+ description='Interactive vector drawing program',
+ author='Bernhard Herzog',
+ author_email='bh at intevation.de',
+ maintainer='Igor E.Novikov',
+ maintainer_email='igor.e.novikov at gmail.com',
+ license='LGPL v2.0',
+ url='http://www.skencil.org',
+ download_url='',
+ long_description='''
+Skencil is an interactive vector drawing program for GNU/Linux and
+other UNIX compatible systems. Skencil is implemented almost completely
+in Python, a very high-level, object oriented, interpreted language,
+with the rest written in C for speed.
+Copyright (C) 1996-2005 by Bernhard Herzog
+Copyright (C) 2010 by Igor E. Novikov. sK1 Team (http://sk1project.org)
+ ''',
+ classifiers=[
+ 'Development Status :: 5 - Stable',
+ 'Environment :: Desktop',
+ 'Intended Audience :: End Users/Desktop',
+ 'License :: OSI Approved :: LGPL v2',
+ 'License :: OSI Approved :: GPL v2',
+ 'Operating System :: POSIX',
+ 'Operating System :: MacOS :: MacOS X',
+ 'Programming Language :: Python',
+ 'Programming Language :: Tcl',
+ 'Programming Language :: C',
+ "Topic :: Multimedia :: Graphics :: Editors :: Vector-Based",
+ ],
+
+ packages=['skencil',
+ 'skencil.Plugins',
+ 'skencil.Script',
+ 'skencil.Plugins.Filters',
+ 'skencil.Plugins.Filters.Lib',
+ 'skencil.Plugins.Objects',
+ 'skencil.Plugins.Objects.Lib',
+ 'skencil.Plugins.Objects.Lib.multilinetext',
+ 'skencil.Sketch',
+ 'skencil.Sketch.Base',
+ 'skencil.Sketch.Graphics',
+ 'skencil.Sketch.Lib',
+ 'skencil.Sketch.Modules',
+ 'skencil.Sketch.Scripting',
+ 'skencil.Sketch.UI',
+ ],
+
+ package_dir={'skencil': 'src',
+ 'skencil.Sketch': 'src/Sketch',
+ 'skencil.Sketch.Modules': 'src/Sketch/Modules',
+ },
+
+ package_data={'skencil.Sketch': ['VERSION', ],
+ 'skencil': ['Resources/Fontmetrics/*.*',
+ 'Resources/Misc/*.*',
+ 'Resources/Misc/tkdefaults',
+ 'Resources/Pixmaps/*.*',
+ 'Resources/Pixmaps/New12/*.*']
+ },
+
+ scripts=['src/skencil'],
+
+ ext_modules=[filter_module, intl_module, skread_module, type1mod_module,
+ pstokenize_module, paxtkinter_module, pax_module, skmod_module])
+
More information about the Skencil-commits
mailing list