[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