diff --git a/Docs/HISTORY.txt b/Docs/HISTORY.txt new file mode 100644 index 000000000..280279606 --- /dev/null +++ b/Docs/HISTORY.txt @@ -0,0 +1,8 @@ + +Changelog +========= + +1.0 - Fri Jul 30 23:12:21 EDT 2010 +---------------------------------- + +- Forked PIL [aclark] diff --git a/Docs/INSTALL.txt b/Docs/INSTALL.txt new file mode 100644 index 000000000..35d49ac3d --- /dev/null +++ b/Docs/INSTALL.txt @@ -0,0 +1,179 @@ + +Build instructions (all platforms) +================================== + +For a list of changes in this release, see the CHANGES document. + +If you're in a hurry, try this:: + + $ tar xvfz Imaging-1.1.7.tar.gz + $ cd Imaging-1.1.7 + $ python setup.py install + +If you prefer to know what you're doing, read on. + + +Prerequisites +------------- + +If you need any of the features described below, make sure you +have the necessary libraries before building PIL:: + + feature library + ----------------------------------------------------------------- + JPEG support libjpeg (6a or 6b) + + http://www.ijg.org + http://www.ijg.org/files/jpegsrc.v6b.tar.gz + ftp://ftp.uu.net/graphics/jpeg/ + + PNG support zlib (1.2.3 or later is recommended) + + http://www.gzip.org/zlib/ + + OpenType/TrueType freetype2 (2.3.9 or later is recommended) + support + http://www.freetype.org + http://freetype.sourceforge.net + + CMS support littleCMS (1.1.5 or later is recommended) + support + http://www.littlecms.com/ + +If you have a recent Linux version, the libraries provided with the +operating system usually work just fine. If some library is +missing, installing a prebuilt version (jpeg-devel, zlib-devel, +etc) is usually easier than building from source. For example, for +Ubuntu 9.10 (karmic), you can install the following libraries:: + + sudo apt-get install libjpeg62-dev + sudo apt-get install zlib1g-dev + sudo apt-get install libfreetype6-dev + sudo apt-get install liblcms1-dev + +If you're using Mac OS X, you can use the 'fink' tool to install +missing libraries (also see the Mac OS X section below). + +Similar tools are available for many other platforms. + + +To build under Python 1.5.2, you need to install the stand-alone +version of the distutils library: + + http://www.python.org/sigs/distutils-sig/download.html + +You can fetch distutils 1.0.2 from the Python source repository: + + svn export http://svn.python.org/projects/python/tags/Distutils-1_0_2/Lib/distutils/ + +For newer releases, the distutils library is included in the +Python standard library. + +NOTE: Version 1.1.7 is not fully compatible with 1.5.2. Some +more recent additions to the library may not work, but the core +functionality is available. + + +If you didn't build Python from sources, make sure you have +Python's build support files on your machine. If you've down- +loaded a prebuilt package (e.g. a Linux RPM), you probably +need additional developer packages. Look for packages named +"python-dev", "python-devel", or similar. For example, for +Ubuntu 9.10 (karmic), use the following command: + + sudo apt-get install python-dev + + +When you have everything you need, unpack the PIL distribution +(the file Imaging-1.1.7.tar.gz) in a suitable work directory: + + $ cd MyExtensions # example + $ gunzip Imaging-1.1.7.tar.gz + $ tar xvf Imaging-1.1.7.tar + + +Build the library. We recommend that you do an in-place build, +and run the self test before installing. + + $ cd Imaging-1.1.7 + $ python setup.py build_ext -i + $ python selftest.py + +During the build process, the setup.py will display a summary +report that lists what external components it found. The self- +test will display a similar report, with what external components +the tests found in the actual build files:: + + ---------------------------------------------------------------- + PIL 1.1.7 SETUP SUMMARY + ---------------------------------------------------------------- + *** TKINTER support not available (Tcl/Tk 8.5 libraries needed) + --- JPEG support available + --- ZLIB (PNG/ZIP) support available + --- FREETYPE support available + ---------------------------------------------------------------- + +Make sure that the optional components you need are included. + +If the build script won't find a given component, you can edit the +setup.py file and set the appropriate ROOT variable. For details, +see instructions in the file. + +If the build script finds the component, but the tests cannot +identify it, try rebuilding *all* modules: + + $ python setup.py clean + $ python setup.py build_ext -i + + +If the setup.py and selftest.py commands finish without any +errors, you're ready to install the library: + + $ python setup.py install + +(depending on how Python has been installed on your machine, +you might have to log in as a superuser to run the 'install' +command, or use the 'sudo' command to run 'install'.) + + +-------------------------------------------------------------------- +Additional notes for Mac OS X +-------------------------------------------------------------------- + +On Mac OS X you will usually install additional software such as +libjpeg or freetype with the "fink" tool, and then it ends up in +"/sw". If you have installed the libraries elsewhere, you may have +to tweak the "setup.py" file before building. + + +-------------------------------------------------------------------- +Additional notes for Windows +-------------------------------------------------------------------- + +On Windows, you need to tweak the ROOT settings in the "setup.py" +file, to make it find the external libraries. See comments in the +file for details. + +Make sure to build PIL and the external libraries with the same +runtime linking options as was used for the Python interpreter +(usually /MD, under Visual Studio). + + +Note that most Python distributions for Windows include libraries +compiled for Microsoft Visual Studio. You can get the free Express +edition of Visual Studio from: + + http://www.microsoft.com/Express/ + +To build extensions using other tool chains, see the "Using +non-Microsoft compilers on Windows" section in the distutils handbook: + + http://www.python.org/doc/current/inst/non-ms-compilers.html + +For additional information on how to build extensions using the +popular MinGW compiler, see: + + http://mingw.org (compiler) + http://sebsauvage.net/python/mingw.html (build instructions) + http://sourceforge.net/projects/gnuwin32 (prebuilt libraries) + diff --git a/index.html b/index.html new file mode 100644 index 000000000..e70ea4f0d --- /dev/null +++ b/index.html @@ -0,0 +1,477 @@ + + + + + + + + + + +
+ + +
+

Pillow

+

Pillow is a "friendly" fork of the Python Imaging Library. The goal is to see +if any improvement can be made to the packaging situation(*) by opening up +development to the "public".

+

Please email: aclark@aclark.net if you'd like to help, or complain.

+

(*)PIL has a bad reputation for not "playing nice" with other packages. It's +kind of a long story, and you either know it by now or you don't. A better +explanation may come later.

+

For PIL's README, check out PIL.txt

+
+
+

Build instructions (all platforms)

+

For a list of changes in this release, see the CHANGES document.

+

If you're in a hurry, try this:

+
+$ tar xvfz Imaging-1.1.7.tar.gz
+$ cd Imaging-1.1.7
+$ python setup.py install
+
+

If you prefer to know what you're doing, read on.

+
+

Prerequisites

+

If you need any of the features described below, make sure you +have the necessary libraries before building PIL:

+
+feature              library
+-----------------------------------------------------------------
+JPEG support         libjpeg (6a or 6b)
+
+                     http://www.ijg.org
+                     http://www.ijg.org/files/jpegsrc.v6b.tar.gz
+                     ftp://ftp.uu.net/graphics/jpeg/
+
+PNG support          zlib (1.2.3 or later is recommended)
+
+                     http://www.gzip.org/zlib/
+
+OpenType/TrueType    freetype2 (2.3.9 or later is recommended)
+support
+                     http://www.freetype.org
+                     http://freetype.sourceforge.net
+
+CMS support          littleCMS (1.1.5 or later is recommended)
+support
+                     http://www.littlecms.com/
+
+

If you have a recent Linux version, the libraries provided with the +operating system usually work just fine. If some library is +missing, installing a prebuilt version (jpeg-devel, zlib-devel, +etc) is usually easier than building from source. For example, for +Ubuntu 9.10 (karmic), you can install the following libraries:

+
+sudo apt-get install libjpeg62-dev
+sudo apt-get install zlib1g-dev
+sudo apt-get install libfreetype6-dev
+sudo apt-get install liblcms1-dev
+
+

If you're using Mac OS X, you can use the 'fink' tool to install +missing libraries (also see the Mac OS X section below).

+

Similar tools are available for many other platforms.

+

To build under Python 1.5.2, you need to install the stand-alone +version of the distutils library:

+
+http://www.python.org/sigs/distutils-sig/download.html
+

You can fetch distutils 1.0.2 from the Python source repository:

+
+svn export http://svn.python.org/projects/python/tags/Distutils-1_0_2/Lib/distutils/
+

For newer releases, the distutils library is included in the +Python standard library.

+

NOTE: Version 1.1.7 is not fully compatible with 1.5.2. Some +more recent additions to the library may not work, but the core +functionality is available.

+

If you didn't build Python from sources, make sure you have +Python's build support files on your machine. If you've down- +loaded a prebuilt package (e.g. a Linux RPM), you probably +need additional developer packages. Look for packages named +"python-dev", "python-devel", or similar. For example, for +Ubuntu 9.10 (karmic), use the following command:

+
+sudo apt-get install python-dev
+

When you have everything you need, unpack the PIL distribution +(the file Imaging-1.1.7.tar.gz) in a suitable work directory:

+
+$ cd MyExtensions # example +$ gunzip Imaging-1.1.7.tar.gz +$ tar xvf Imaging-1.1.7.tar
+

Build the library. We recommend that you do an in-place build, +and run the self test before installing.

+
+$ cd Imaging-1.1.7 +$ python setup.py build_ext -i +$ python selftest.py
+

During the build process, the setup.py will display a summary +report that lists what external components it found. The self- +test will display a similar report, with what external components +the tests found in the actual build files:

+
+----------------------------------------------------------------
+PIL 1.1.7 SETUP SUMMARY
+----------------------------------------------------------------
+*** TKINTER support not available (Tcl/Tk 8.5 libraries needed)
+--- JPEG support available
+--- ZLIB (PNG/ZIP) support available
+--- FREETYPE support available
+----------------------------------------------------------------
+
+

Make sure that the optional components you need are included.

+

If the build script won't find a given component, you can edit the +setup.py file and set the appropriate ROOT variable. For details, +see instructions in the file.

+

If the build script finds the component, but the tests cannot +identify it, try rebuilding all modules:

+
+$ python setup.py clean +$ python setup.py build_ext -i
+

If the setup.py and selftest.py commands finish without any +errors, you're ready to install the library:

+
+$ python setup.py install
+

(depending on how Python has been installed on your machine, +you might have to log in as a superuser to run the 'install' +command, or use the 'sudo' command to run 'install'.)

+
+

Additional notes for Mac OS X

+

On Mac OS X you will usually install additional software such as +libjpeg or freetype with the "fink" tool, and then it ends up in +"/sw". If you have installed the libraries elsewhere, you may have +to tweak the "setup.py" file before building.

+
+
+

Additional notes for Windows

+

On Windows, you need to tweak the ROOT settings in the "setup.py" +file, to make it find the external libraries. See comments in the +file for details.

+

Make sure to build PIL and the external libraries with the same +runtime linking options as was used for the Python interpreter +(usually /MD, under Visual Studio).

+

Note that most Python distributions for Windows include libraries +compiled for Microsoft Visual Studio. You can get the free Express +edition of Visual Studio from:

+
+http://www.microsoft.com/Express/
+

To build extensions using other tool chains, see the "Using +non-Microsoft compilers on Windows" section in the distutils handbook:

+
+http://www.python.org/doc/current/inst/non-ms-compilers.html
+

For additional information on how to build extensions using the +popular MinGW compiler, see:

+
+http://mingw.org (compiler) +http://sebsauvage.net/python/mingw.html (build instructions) +http://sourceforge.net/projects/gnuwin32 (prebuilt libraries)
+
+
+
+
+

Changelog

+
+

1.0 - Fri Jul 30 23:12:21 EDT 2010

+
    +
  • Forked PIL [aclark]
  • +
+
+
+
+ + diff --git a/setup.py b/setup.py index 5e1a0a7c1..9c53e744e 100644 --- a/setup.py +++ b/setup.py @@ -466,7 +466,10 @@ if __name__ == "__main__": ext_modules = [Extension("_imaging", ["_imaging.c"])], # dummy extra_path = "PIL", license="Python (MIT style)", - long_description=DESCRIPTION, +# long_description=DESCRIPTION, + long_description=open("README.txt").read() + "\n" + + open(os.path.join("docs", "INSTALL.txt")).read() + + open(os.path.join("docs", "HISTORY.txt")).read(), name=NAME, packages=find_packages(), setup_requires=["setuptools_hg"], diff --git a/setuptools_hg-0.2-py2.4.egg/EGG-INFO/._PKG-INFO b/setuptools_hg-0.2-py2.4.egg/EGG-INFO/._PKG-INFO new file mode 100644 index 000000000..d89722e15 Binary files /dev/null and b/setuptools_hg-0.2-py2.4.egg/EGG-INFO/._PKG-INFO differ diff --git a/setuptools_hg-0.2-py2.4.egg/EGG-INFO/PKG-INFO b/setuptools_hg-0.2-py2.4.egg/EGG-INFO/PKG-INFO new file mode 100644 index 000000000..b8e2cda70 --- /dev/null +++ b/setuptools_hg-0.2-py2.4.egg/EGG-INFO/PKG-INFO @@ -0,0 +1,63 @@ +Metadata-Version: 1.0 +Name: setuptools-hg +Version: 0.2 +Summary: Setuptools plugin for finding files under Mercurial version control. +Home-page: http://bitbucket.org/jezdez/setuptools_hg/ +Author: Jannis Leidel +Author-email: jannis@leidel.info +License: GPL2 +Download-URL: http://bitbucket.org/jezdez/setuptools_hg/downloads/ +Description: + setuptools_hg + ============= + + setuptools_hg is a plugin for setuptools that enables setuptools to find files + under the Mercurial version control system. + + It uses the Mercurial Python library by default and falls back to use the + command line programm ``hg(1)``. That's especially useful inside virtualenvs + that don't have access to the system wide installed Mercurial lib (e.g. when + created with ``--no-site-packages``). + + .. note:: The setuptools feature + + You can read about the hooks used by setuptool_hg in the + `setuptools documentation`_. It basically returns a list of files that are + under Mercurial version control when running the ``setup`` function, e.g. if + you create a source and binary distribution. It's a simple yet effective way + of not having to define package data (non-Python files) manually in MANIFEST + templates (``MANIFEST.in``). + + .. _setuptools documentation: http://peak.telecommunity.com/DevCenter/setuptools#adding-support-for-other-revision-control-systems + + Usage + ***** + + Here's an example of a setup.py that uses setuptools_hg:: + + from setuptools import setup, find_packages + setup( + name="HelloWorld", + version="0.1", + packages=find_packages(), + setup_requires=["setuptools_hg"], + ) + + If you run this setup.py setuptools will automatically download setuptools_hg + to the directory where the setup.py is located at (and won't install it + anywhere else) to get all package data files from the Mercurial repository. + + Options + ******* + + Set the ``HG_SETUPTOOLS_FORCE_CMD`` environment variable before running + setup.py if you want to enforce the use of the hg command. + +Platform: UNKNOWN +Classifier: Development Status :: 4 - Beta +Classifier: Programming Language :: Python +Classifier: Intended Audience :: Developers +Classifier: Operating System :: OS Independent +Classifier: License :: OSI Approved :: GNU General Public License (GPL) +Classifier: Topic :: Software Development :: Version Control +Classifier: Framework :: Setuptools Plugin diff --git a/setuptools_hg-0.2-py2.4.egg/EGG-INFO/SOURCES.txt b/setuptools_hg-0.2-py2.4.egg/EGG-INFO/SOURCES.txt new file mode 100644 index 000000000..2dc96588c --- /dev/null +++ b/setuptools_hg-0.2-py2.4.egg/EGG-INFO/SOURCES.txt @@ -0,0 +1,11 @@ +.hgtags +LICENSE +setup.cfg +setup.py +setuptools_hg.py +setuptools_hg.egg-info/._PKG-INFO +setuptools_hg.egg-info/PKG-INFO +setuptools_hg.egg-info/SOURCES.txt +setuptools_hg.egg-info/dependency_links.txt +setuptools_hg.egg-info/entry_points.txt +setuptools_hg.egg-info/top_level.txt \ No newline at end of file diff --git a/setuptools_hg-0.2-py2.4.egg/EGG-INFO/dependency_links.txt b/setuptools_hg-0.2-py2.4.egg/EGG-INFO/dependency_links.txt new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/setuptools_hg-0.2-py2.4.egg/EGG-INFO/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/setuptools_hg-0.2-py2.4.egg/EGG-INFO/entry_points.txt b/setuptools_hg-0.2-py2.4.egg/EGG-INFO/entry_points.txt new file mode 100644 index 000000000..3be9fd21e --- /dev/null +++ b/setuptools_hg-0.2-py2.4.egg/EGG-INFO/entry_points.txt @@ -0,0 +1,3 @@ +[setuptools.file_finders] +hg = setuptools_hg:hg_file_finder + diff --git a/setuptools_hg-0.2-py2.4.egg/EGG-INFO/top_level.txt b/setuptools_hg-0.2-py2.4.egg/EGG-INFO/top_level.txt new file mode 100644 index 000000000..7107721d8 --- /dev/null +++ b/setuptools_hg-0.2-py2.4.egg/EGG-INFO/top_level.txt @@ -0,0 +1 @@ +setuptools_hg diff --git a/setuptools_hg-0.2-py2.4.egg/EGG-INFO/zip-safe b/setuptools_hg-0.2-py2.4.egg/EGG-INFO/zip-safe new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/setuptools_hg-0.2-py2.4.egg/EGG-INFO/zip-safe @@ -0,0 +1 @@ + diff --git a/setuptools_hg-0.2-py2.4.egg/setuptools_hg.py b/setuptools_hg-0.2-py2.4.egg/setuptools_hg.py new file mode 100755 index 000000000..da5968381 --- /dev/null +++ b/setuptools_hg-0.2-py2.4.egg/setuptools_hg.py @@ -0,0 +1,98 @@ +""" +A plugin for setuptools to find files under the Mercurial version control +system which uses the Python library by default and falls back to use the +command line programm hg(1). +""" +__version__ = '0.2' +__author__ = 'Jannis Leidel' +__all__ = ['hg_file_finder'] + +import os +import subprocess + +try: + from mercurial.__version__ import version + from mercurial import hg, ui, cmdutil +except: + hg = None + +try: + from mercurial.repo import RepoError +except: + try: + from mercurial.error import RepoError + except: + pass + +OLD_VERSIONS = ('1.0', '1.0.1', '1.0.2') + +if os.environ.get('HG_SETUPTOOLS_FORCE_CMD', False): + hg = None + +def find_files_with_cmd(dirname="."): + """ + Use the hg command to recursively find versioned files in dirname. + """ + try: + proc = subprocess.Popen(['hg', 'locate'], + stdin=subprocess.PIPE, + stderr=subprocess.PIPE, + stdout=subprocess.PIPE, + cwd=dirname) + stdout, stderr = proc.communicate() + except: + # Let's behave a bit nicer and return nothing if something fails. + return [] + return stdout.splitlines() + +def find_files_with_lib(dirname): + """ + Use the Mercurial library to recursively find versioned files in dirname. + """ + try: + try: + repo = hg.repository(ui.ui(), path=dirname) + except RepoError: + return + # tuple of (modified, added, removed, deleted, unknown, ignored, clean) + modified, added, removed, deleted, unknown = repo.status()[:5] + + # exclude all files that hg knows about, but haven't been added, + # or have been deleted, removed, or have an unknown status + excluded = removed + deleted + unknown + + if version in OLD_VERSIONS: + from mercurial import util + node = None + for src, abs, rel, exact in cmdutil.walk(repo, [], {}, node=node, + badmatch=util.always, default='relglob'): + if src == 'b': + continue + if not node and abs not in repo.dirstate: + continue + if abs in excluded: + continue + yield abs + else: + rev = None + match = cmdutil.match(repo, [], {}, default='relglob') + match.bad = lambda x, y: False + for abs in repo[rev].walk(match): + if not rev and abs not in repo.dirstate: + continue + if abs in excluded: + continue + yield abs + except: + # try calling hg command as a last resort + find_files_with_cmd(dirname) + +def hg_file_finder(dirname="."): + """ + Find the files in ``dirname`` under Mercurial version control. + """ + if not dirname: + dirname = "." + if hg is None: + return find_files_with_cmd(dirname) + return find_files_with_lib(dirname) diff --git a/setuptools_hg-0.2-py2.4.egg/setuptools_hg.pyc b/setuptools_hg-0.2-py2.4.egg/setuptools_hg.pyc new file mode 100644 index 000000000..3ff9c3c8b Binary files /dev/null and b/setuptools_hg-0.2-py2.4.egg/setuptools_hg.pyc differ