[python-Enable] Initial Import
Chen Lei
supercyper at fedoraproject.org
Mon Sep 6 02:16:25 UTC 2010
commit 169eccfdd34ad240ce22363caf00337d5d98ef2f
Author: Chen Lei <supercyper at 163.com>
Date: Mon Sep 6 10:15:55 2010 +0800
Initial Import
.gitignore | 1 +
freetype2.diff | 133 ++++++++++++++++++++++++++++++++++++++++++++++++++++
python-Enable.spec | 87 ++++++++++++++++++++++++++++++++++
sources | 1 +
4 files changed, 222 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..b174a48 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/Enable-3.3.1.tar.gz
diff --git a/freetype2.diff b/freetype2.diff
new file mode 100644
index 0000000..d3351a9
--- /dev/null
+++ b/freetype2.diff
@@ -0,0 +1,133 @@
+Author: Varun Hiremath <varun at debian.org>
+Date: Sun, 28 Feb 2010 15:16:17 -0500
+Description: Remove freetype2 sources from upstream and use the
+ pre-built libfreetype6-dev library in Debian.
+Index: python-enable-3.3.0/enthought/kiva/agg/setup.py
+===================================================================
+--- python-enable-3.3.0.orig/enthought/kiva/agg/setup.py 2010-02-25 13:15:07.000000000 -0500
++++ python-enable-3.3.0/enthought/kiva/agg/setup.py 2010-02-28 14:55:37.000000000 -0500
+@@ -4,59 +4,6 @@
+ import re
+ import platform
+
+-freetype2_sources =['autofit/autofit.c',
+- 'base/ftbase.c','base/ftsystem.c','base/ftinit.c',
+- 'base/ftglyph.c','base/ftmm.c','base/ftbdf.c',
+- 'base/ftbbox.c','base/ftdebug.c','base/ftxf86.c',
+- 'base/fttype1.c',
+- 'bdf/bdf.c',
+- 'cff/cff.c',
+- 'cid/type1cid.c',
+- 'lzw/ftlzw.c',
+- 'pcf/pcf.c','pfr/pfr.c',
+- 'psaux/psaux.c',
+- 'pshinter/pshinter.c',
+- 'psnames/psnames.c',
+- 'raster/raster.c',
+- 'sfnt/sfnt.c',
+- 'smooth/smooth.c',
+- 'truetype/truetype.c',
+- 'type1/type1.c',
+- 'type42/type42.c',
+- 'winfonts/winfnt.c',
+- 'gzip/ftgzip.c',
+- 'base/ftmac.c',
+- ]
+-
+-freetype2_dirs = [
+- 'autofit',
+- 'base',
+- 'bdf',
+- 'cache',
+- 'cff',
+- 'cid',
+- 'gxvalid',
+- 'gzip',
+- 'lzw',
+- 'otvalid',
+- 'pcf',
+- 'pfr',
+- 'psaux',
+- 'pshinter',
+- 'psnames',
+- 'raster',
+- 'sfnt',
+- 'smooth',
+- 'tools',
+- 'truetype',
+- 'type1',
+- 'type42',
+- 'winfonts',
+- 'gzip'
+- ]
+-
+-
+-
+ def configuration(parent_package='',top_path=None):
+ from numpy.distutils.misc_util import Configuration
+ from numpy.distutils.system_info import dict_append, get_info
+@@ -85,45 +32,11 @@
+ plat = 'x11' # use with gtk2, it's slow but reliable
+ #plat = 'gdkpixbuf2'
+
+-
+- #-------------------------------------------------------------------------
+- # Add the freetype library (agg 2.4 links against this)
+- #-------------------------------------------------------------------------
+-
+- prefix = config.paths('freetype2/src')[0]
+- freetype_lib = 'freetype2_src'
+-
+- def get_ft2_sources((lib_name, build_info), build_dir):
+- sources = [prefix + "/" + s for s in freetype2_sources]
+- if sys.platform=='darwin':
+- return sources[:]
+- return sources[:-1]
+-
+- ft2_incl_dirs = ['freetype2/src/' + s for s in freetype2_dirs] \
+- + ['freetype2/include', 'freetype2/src']
+- ft2_incl_dirs = config.paths(*ft2_incl_dirs)
+- if sys.platform == 'darwin':
+- ft2_incl_dirs.append("/Developer/Headers/FlatCarbon")
+-
+- config.add_library(freetype_lib,
+- sources = [get_ft2_sources],
+- include_dirs = ft2_incl_dirs,
+-
+- # This macro was introduced in Freetype 2.2; if it is
+- # not defined, then the ftheader.h file (one of the
+- # primary headers) won't pull in any additional internal
+- # Freetype headers, and the library will mysteriously
+- # fail to build.
+- macros = [("FT2_BUILD_LIBRARY", None)],
+-
+- depends = ['freetype2'],
+- )
+-
+ #-------------------------------------------------------------------------
+ # Add the Agg sources
+ #-------------------------------------------------------------------------
+
+- agg_include_dirs = [agg_dir+'/include',agg_dir+'/font_freetype'] + ft2_incl_dirs
++ agg_include_dirs = [agg_dir+'/include',agg_dir+'/font_freetype'] + ["/usr/include/freetype2/"]
+ agg_sources = [agg_dir+'/src/*.cpp',
+ agg_dir+'/font_freetype/*.cpp']
+ config.add_library(agg_lib,
+@@ -137,7 +50,7 @@
+ if sys.platform == 'darwin':
+ define_macros = [('__DARWIN__', None)]
+ macros = [('__DARWIN__', None)]
+- extra_link_args = ['-framework', 'Carbon']
++ extra_link_args = ['-framework', 'Carbon', '-Wl,-search_paths_first']
+ else:
+ define_macros = []
+ macros = []
+@@ -191,7 +104,7 @@
+
+ build_info = {}
+ kiva_lib = 'kiva_src'
+- build_libraries = [kiva_lib, agg_lib, freetype_lib]
++ build_libraries = [kiva_lib, agg_lib, "freetype"]
+ if sys.platform == "win32":
+ build_libraries += ["opengl32", "glu32"]
+ elif sys.platform == "darwin":
diff --git a/python-Enable.spec b/python-Enable.spec
new file mode 100644
index 0000000..7be78d7
--- /dev/null
+++ b/python-Enable.spec
@@ -0,0 +1,87 @@
+%global srcname Enable
+
+Name: python-Enable
+Version: 3.3.1
+Release: 1%{?dist}
+Summary: Drawing and interaction packages
+Group: Development/Libraries
+License: BSD and LGPLv2+ and LGPLv2 and LGPLv3 and Public Domain
+URL: http://code.enthought.com/projects/enable
+Source0: http://www.enthought.com/repo/ETS/%{srcname}-%{version}.tar.gz
+Patch1: freetype2.diff
+BuildRequires: python2-devel python-setuptools numpy
+BuildRequires: python-setupdocs Pyrex
+BuildRequires: swig freetype-devel libGLU-devel
+Requires: python-EnthoughtBase python-TraitsGUI
+Requires: numpy python-reportlab
+
+%description
+The Enable project provides two related multi-platform packages for drawing
+GUI objects.
+
+ * Enable: An object drawing library that supports containment and
+ event notification.
+ * Kiva: A multi-platform DisplayPDF vector drawing engine.
+
+%prep
+%setup -q -n %{srcname}-%{version}
+%patch1 -p1
+
+rm -rf *.egg-info
+rm -rf examples/kiva/agg/agg-24/{win32_*,BeOS}
+# Remove bundled freetype2
+rm -rf enthought/kiva/agg/freetype2
+
+# Convert encoding to UTF-8
+for file in *.txt; do
+ iconv -f ISO-8859-1 -t UTF-8 -o $file.new $file && \
+ touch -r $file $file.new && \
+ mv $file.new $file
+done
+
+# Remove DOS line endings
+for file in `find -name "*.txt" -o -name "*.py" -o -name "*.cpp" -o -name "*.h" \
+ -o -name "Makefile*"`; do
+ sed "s|\r||g" $file > $file.new && \
+ touch -r $file $file.new && \
+ mv $file.new $file
+done
+
+# Remove shebang
+for file in `find enthought -name "*.py"`; do
+ sed '/^#!\//, 1d' $file > $file.new && \
+ touch -r $file $file.new && \
+ mv $file.new $file
+done
+
+# Remove exec permission
+find -type f -exec chmod 0644 {} \;
+
+%build
+CFLAGS="%{optflags}" python setup.py build
+
+%install
+python setup.py install -O1 --skip-build --root %{buildroot}
+
+find %{buildroot}%{python_sitearch}/enthought -name "setup.py*" -exec rm {} ";"
+# Remove DOS line endings
+for file in `find build/docs -name "*.txt"`; do
+ sed "s|\r||g" $file > $file.new && \
+ touch -r $file $file.new && \
+ mv $file.new $file
+done
+
+%files
+%defattr(-,root,root,-)
+%doc *.txt docs/*.txt docs/kiva
+%doc build/docs/html examples
+%{python_sitearch}/*.egg-info
+%{python_sitearch}/*.pth
+%{python_sitearch}/enthought/enable
+%{python_sitearch}/enthought/enable2
+%{python_sitearch}/enthought/kiva
+%{python_sitearch}/enthought/savage
+
+%changelog
+* Mon Jul 26 2010 Chen Lei <supercyper at 163.com> - 3.3.1-1
+- Initial package
diff --git a/sources b/sources
index e69de29..ca8df3c 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+44d5fbb33a3637fefeba83f9804587b2 Enable-3.3.1.tar.gz
More information about the scm-commits
mailing list