Reid van Melle avatar Reid van Melle committed 70aeaa6

Adding initial files that get a skeleton building.

Comments (0)

Files changed (23)

+Reid van Melle <rvanmelle@gmail.com>
+
+		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+		  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
+
+
+2008-05-28  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	Merge from pyclutter-0-6.
+
+	Bug #923 - Clutter.Color() undesired results on amd64 platform
+
+	* clutter/clutter-color.override: Use 'B' as the parser
+	format for the Color components. (Julius Caro, Tommi Komulainen)
+
+2008-04-24  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	Merge from pyclutter-0-6
+
+	* clutter-cairo/cluttercairo.defs: Add the new API from
+	clutter-cairo >= 0.7
+
+	* clutter-cairo/cluttercairo.override: Wrap the cairo context
+	into a PyObject inheriting from pangocairo.CairoContext; this
+	allows wrapping clutter_cairo_set_source_color(). Fix the
+	methods returning a cairo_t* in C to return a cluttercairo
+	CairoContext instead.
+
+	* clutter-cairo/cluttercairomodule.c: Remove cruft.
+
+	* examples/cairo-texture.py: Use cluttercairo.CairoContext's
+	method set_source_color() to test the extension of the pangocairo
+	CairoContext class.
+
+2008-04-24  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* configure.ac: Bump to 0.7.0
+
+2008-04-15  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* configure.ac: Post-release bump to 0.6.3
+
+2008-04-15  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* docs/reference/clutter-cluttertimeline.xml: Add more
+	documentation to the clutter.Timeline page.
+
+2008-04-15  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* README: Update the README with the revised dependency
+	from the previous commit.
+
+2008-04-15  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* configure.ac: Keep requiring python 2.4. We'll move
+	to python 2.5 in 0.7/0.8 to keep the stable cycle, well,
+	stable.
+
+2008-04-15  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	Bug #841 - pyclutter shader API doesn't seem to work
+
+	* clutter/__init__.py: Change the dlopen() flags; this should
+	fix the dlopen() errors that happen with nvidia cards. (thanks
+	to Blake Ramsdell)
+
+2008-04-15  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* INSTALL: Remove from revision control.
+
+	* README: Make the build time dependencies more explicit.
+
+	* autogen.sh: Prepare for the (future) switch to automake-1.10
+
+	* configure.ac: Fail if we don't find python 2.5, instead
+	of silently ignoring it.
+
+2008-03-06  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* tidy/Makefile.am: Add tidy-types.defs to the dist.
+
+2008-03-03  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* docs/Makefile.am:
+	* docs/reference/clutter-cluttertimeline.xml:
+	* docs/reference/clutter-ref.xml: Add initial page for
+	clutter.Timeline in the PyClutter API reference.
+
+2008-02-29  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* configure.ac: Post release bump to 0.6.1 - I should have done
+	this earlier.
+
+2008-02-26  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-behaviour.override: Update the BehaviourEllipse
+	constructor, so that the alpha parameter is marked as optional,
+	like for the other behaviours.
+
+2008-02-26  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* configure.ac: Require python2.5; anything older is probably
+	broken, leaking or worse.
+
+2008-02-25  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter.override: Fix error message for clutter.Stage()
+
+	* tidy/tidy-types.defs:
+	* tidy/tidy.override:
+	* tidy/tidymodule.c: Make tidy bindings actually work.
+
+2008-02-19  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* NEWS:
+	* README:
+	* configure.ac: Release 0.6.0
+
+2008-02-19  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* docs/Makefile.am: Update documentation build to be shipped
+	with the tarball and be installed in the right place.
+
+2008-02-19  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/__init__.py: Add more deprecation warnings
+
+2008-02-19  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* tidy/Makefile.am: Add clutter/ to the includes
+
+	* tidy/tidy-types.defs:
+	* tidy/tidy.defs: Update with the latest types/APIs
+
+	* tidy/tidy.override: Include pyclutter.h and ignore more
+	functions.
+
+2008-02-19  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/deprecation.py: Add a modified copy of the deprecation
+	module from gtk.
+
+	* clutter/Makefile.am: Add deprecation.py to the installed
+	modules.
+
+	* clutter/__init__.py: Make the initialization more safe, and
+	add the deprecation warning for clutter.stage_get_default().
+
+	* clutter/cluttermodule.c (init_clutter): Create the
+	DeprecationWarning and Warning exceptions in the clutter module.
+
+2008-02-18  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base.defs: Add missing
+	clutter_actor_box_get_from_vertices(); we do not wrap it yet,
+	as it needs some pythonization first.
+
+	* clutter/clutter.override: Override clutter.Stage.set_key_focus()
+	to accept None to give back the key focus to the stage.
+
+	* examples/entry.py: Add entry example, from Florent Thiery.
+
+2008-02-16  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* Makefile.am:
+	* configure.ac: Add tidy submodule; make all the submodules
+	depend on a --with configure switch, to make possible trimming
+	down the build.
+
+	* tidy/Makefile.am:
+	* tidy/tidy-types.defs:
+	* tidy/tidy.defs:
+	* tidy/tidy.override:
+	* tidy/tidymodule.c: Add initial Tidy bindings; roughly 80%
+	coverage (TidyStyle/TidyStylable is missing).
+
+2008-02-16  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-actor.override:
+	* clutter/clutter-base.defs: Add new relative transformation
+	API from Clutter core.
+
+2008-02-16  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* Makefile.am:
+	* configure.ac: Fill in the pyclutter pkg-config file and
+	install it in the right place.
+
+	* clutter/clutter-base.defs: Wrap clutter.texture_from_actor().
+
+	* clutter/pyclutter.c:
+	(pyclutter_callback_invoke), (pyclutter_alpha_func),
+	(pyclutter_effect_complete): Fix reference counting bugs
+	that caused alpha functions to leak. (#797, Tero Saarni)
+
+2008-02-11  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* NEWS:
+	* README: Release 0.5.2.
+
+2008-02-11  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* docs/Makefile.am:
+	* docs/reference/clutter-cluttertexture.xml:
+	* docs/reference/clutter-ref.xml: Add initial clutter.Texture
+	API reference.
+
+	* docs/reference/clutter-cluttercontainer.xml: Fix indentation
+	and typos.
+
+2008-02-10  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* docs/reference/clutter-cluttercontainer.xml: Finish the
+	clutter.Container API reference.
+
+2008-02-10  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-effect.override: Commit a fix for the
+	clutter.effect_scale() override that has been sittin in my
+	tree for days.
+
+2008-02-10  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* docs/reference/clutter-ref.xml: Add copyright and remove authors.
+
+2008-02-10  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base.defs: Mark the sibling argument in
+	clutter.Container.raise_child() and .lower_child() as optional;
+	by looking at the autogenerated code it seems that pycodegen
+	doesn't care, though.
+
+	* docs/reference/clutter-clutteractor.xml:
+	* docs/reference/clutter-clutterrectangle.xml: Fix some references.
+
+	* docs/Makefile.am:
+	* docs/reference/clutter-ref.xml:
+	* docs/reference/clutter-cluttercontainer.xml:
+	* docs/reference/clutter-cluttergroup.xml: add clutter.Group
+	and clutter.Container sections. clutter.Container is not finished.
+
+2008-02-10  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base.defs: Allow passing a clutter.Color when
+	constructing a rectangle.
+
+	* docs/Makefile.am:
+	* docs/reference/clutter-clutteractor.xml:
+	* docs/reference/clutter-cluttercolor.xml:
+	* docs/reference/clutter-clutterrectangle.xml:
+	* docs/reference/clutter-ref.xml: Add clutter.Rectangle reference.
+
+2008-02-10  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* docs/reference/clutter-clutteractor.xml: Add signals documentation
+	for clutter.Actor. (Daniel Schierbeck)
+
+2008-02-08  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-event.override: Fix modifier_state member
+	typo. (#748, Havoc Pennington)
+
+2008-02-08  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* configure.ac: Rename --enable-doc to --enable-docs, and
+	default it to "no" when building a developers snapshot.
+
+2008-02-07  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* examples/script.py: Add more checks.
+
+2008-02-07  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-script.override: Let pyclutter pick up
+	clutter.Script.connect_signals()
+
+	* clutter/clutter.override: Override clutter.Score.append()
+	so that the optional parent goes at the end of the arguments
+	tuple.
+
+	* examples/script.py: Add an example of clutter.Script.
+
+2008-02-06  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base.defs: Add the new move_anchor_point()
+	and move_anchor_point_from_gravity() methods.
+
+	* docs/Makefile.am: Fix indentation for the pdf generation; it
+	still doesn't quite work, unfortunately.
+	
+	* examples/Makefile.am:
+	* examples/test-scale.py: Add test-scale.py, exercising the
+	scale behaviour and the anchor point API
+
+	* examples/behave.py:
+	* examples/cairo-texture.py:
+	* examples/rects.py:
+	* examples/super-oh.py:
+	* examples/videosink.py: Update to clutter.Stage().
+
+2008-02-06  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* docs/Makefile.am: Fix the fixxref call.
+
+	* docs/reference/clutter-clutteractor.xml:
+	* docs/reference/clutter-cluttercolor.xml:
+	* docs/reference/clutter-overview.xml:
+	* docs/reference/clutter-ref.xml: More documentation: add the
+	overview from Clutter core and more descriptions on methods
+	properties and signals. (Daniel Schierbeck) 
+
+2008-02-06  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base.defs:
+	* clutter/clutter.override: Wrap clutter_stage_get_default()
+	as clutter.Stage(), so that it feels more pythonic. The
+	current clutter.stage_get_default() function is still there
+	for compatibility, but it should probably go away before 0.6.0.
+
+	* examples/hello.py: Update to test.
+
+2008-02-05  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* Makefile.am:
+	* configure.ac:
+	* docs/Makefile.am: Add build environment for the pyclutter
+	documentation. (#758, Daniel Schierbeck)
+
+	* docs/reference/clutter-clutteractor.xml:
+	* docs/reference/clutter-cluttercolor.xml:
+	* docs/reference/clutter-ref.xml: Add initial XML files for
+	the documentation; needs work, so patches accepted.
+
+2008-02-04  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base.defs: Remove clutter_actor_apply_shader()
+	and bind:
+
+	  clutter_actor_set_shader()
+	  clutter_actor_get_shader()
+
+2008-02-03  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base.defs: Update after upstream API changes
+	in clutter.Entry, clutter.BehaviourScale and
+	clutter.effect_scale. (based on a patch by Kashyap Ashwin)
+
+	* clutter/clutter-effect.override: Update clutter.effect_scale
+	and initialise all the optional arguments of the effects API
+	to Py_None, to avoid segfaults. (based on a patch by Tero Saarni)
+
+2008-01-25  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* configure.ac: Require stable releases of clutter-core and
+	clutter-gtk.
+
+	* README:
+	* NEWS: Release 0.5.1
+
+2008-01-23  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* autogen.sh:
+	* configure.ac: Require autotools >= 1.9 and clutter-gtk >= 0.5.1
+
+	* clutter-gtk/cluttergtk.defs:
+	* clutter-gtk/cluttergtk.override:
+	* clutter-gtk/cluttergtkmodule.c: Update after upstream changes
+	in the clutter-gtk integration library. No API changes for the
+	Python bindings.
+
+2008-01-22  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base.defs: Add BehaviourDepth and BehaviourOpacity
+	new methods.
+
+	* clutter/clutter-behaviour.override: Override the get_bounds()
+	methods of BehaviourDepth() and BehaviourOpacity()
+
+	* examples/behave.py: Remove the scale behaviour, as it was
+	just cluttering up.
+
+2008-01-21  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base.defs: Fix a typo in the set_gravity()
+	method definition of clutter.BehaviourScale.
+
+2008-01-17  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base.defs:
+	* clutter/clutter-behaviour.override:
+	* clutter/clutter-effect.override: Update for the upstream API
+	change in ClutterBehaviourScale and clutter_effect_scale()
+
+	* configure.ac: Require Clutter core 0.5.3.
+
+2008-01-10  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base.defs: Add function wrappers for the newly
+	defined CLUTTER_UNITS_* macros.
+
+2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base.defs: All the constructor parameters for
+	clutter.Timeline are optional (we provide sane defaults); add
+	the duration property, so you can do clutter.Timeline(duration=1000).
+
+	* clutter/clutter.override: Ignore clutter.timeline_new_for_duration()
+	as now clutter.Timeline also takes the duration argument.
+
+	* examples/behave.py: Update to show the construction of timelines
+	in the time domain, instead of the frames domain.
+
+2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base-types.defs:
+	* clutter/clutter-base.defs:
+	* clutter/clutter-model.override: Rename clutter.ModelDefault
+	into clutter.ListModel, following the upstream change.
+
+	* README:
+	* configure.ac: Update requirements.
+
+2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* configure.ac: Post-release bump to 0.5.1
+
+2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* NEWS:
+	* README: Release 0.5.0
+
+2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base-types.defs:
+	* clutter/clutter-boxed.override: Add the .origin and .size
+	read-only fields to clutter.ActorBox.
+
+2008-01-09  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-actor.override: As discovered in the Perl
+	bindings, the box argument in clutter.Actor.do_query_coords()
+	overridable method is an in-out parameter: instances are
+	supposed to get an ActorBox with the current coordinates and
+	return a tuple containing the coordinates of the new bounding
+	box.
+
+2008-01-08  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base-types.defs:
+	* clutter/clutter-base.defs: Add ClutterModelDefault type and
+	definitions.
+
+	* clutter/clutter-model.override: Bind:
+
+		clutter.Model.append()
+		clutter.Model.prepend()
+		clutter.Model.insert()
+
+	and fix a couple of signed/unsigned casts.
+
+2008-01-08  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-model.override: Update after API changes upstream:
+	clutter.Model() becomes clutter.ModelDefault(); implement
+	clutter.ModelIter.set() and clutter.ModelIter.get(); stub out
+	clutter.Model insert, append and prepend methods; implement
+	clutter.Model.foreach(), clutter.Model.set_sort() and
+	clutter.Model.set_filter().
+
+	* clutter/clutter.override: Fix GList->GSList usage.
+
+2008-01-04  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-model.override: Bind clutter.Model.set_types()
+	and clutter.Model.set_names().
+
+	* clutter/clutter-script.override: Ignore the ClutterScriptable
+	interface methods: they are used only by the clutter.Script class
+	and are not meant for external usage.
+
+	* clutter/clutter.override: Bind clutter.Score.list_timelines().
+
+2008-01-04  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base.defs: Declare the constructors for many
+	types using the new format (properties instead of parameters);
+	this allows the autogeneration to work for us. The clutter.Texture
+	constructor now accepts an optional pixbuf parameter, so
+	clutter.texture_new_from_pixbuf() has been removed in favour of
+	a more pythonic:
+
+	  try:
+	      from gtk import gdk
+	      tex = clutter.Texture(gdk.pixbuf_new_from_file("redhand.png"))
+	  except Exception:
+	      print "Unable to create texture from redhand.png"
+	      sys.exit(1)
+
+	* clutter/clutter-behaviour.override: Remove the overridden
+	constructors for clutter.BehaviourDepth, clutter.BehaviourOpacity,
+	clutter.BehaviourRotate and clutter.BehaviourScale, and use the
+	autogenerated ones. This implies a subtle API break: the alpha
+	argument now goes at the end of the list of parameters; to avoid
+	breakage, the named argument passing is preferred. E.g.:
+
+	  clutter.BehaviourDepth(alpha, -100, 0)
+	
+	becomes:
+
+	  clutter.BehaviourDepth(-100, 0, alpha)
+
+	or, better:
+
+	  clutter.BehaviourDepht(depth_start=-100, depth_end=0, alpha=alpha)
+
+	* examples/super-oh.py:
+	* examples/hello.py:
+	* examples/behave.py: Update with the new constructor syntax
+
+	* examples/Makefile.am:
+	* examples/videosink.py: Add a cluttergst.VideoSink example, written
+	by Florent Thiery.
+
+2008-01-04  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-effect.override: Mark the gravity parameter in
+	clutter.effect_scale() and the direction parameter in
+	clutter.effect_rotate() as optional, as they have a default value.
+
+2008-01-04  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter.override: Ignore clutter.texture_new_from_pixbuf();
+	implement clutter.Timeline.get_delta().
+
+2008-01-04  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-script.override: Fix coding style.
+
+2008-01-04  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* examples/cairo-texture.py: Update API usage.
+
+2008-01-04  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* examples/super-oh.py: Fix the super-oh example and update the
+	API usage.
+
+2008-01-03  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter.override: Avoid a segfault un the
+	clutter.Entry.handle_key_event(). (#622)
+
+2008-01-03  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-behaviour.override: Update after the
+	properties naming changes upstream.
+
+	* clutter/clutter-effect.override: Mark the constructor for
+	clutter.EffectTemplate as a new-style one.
+
+	* examples/behave.py: Update after API changes
+
+2008-01-03  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-behaviour.override: Remove the fixed point
+	variants as we now don't even have them in the defs files;
+	rename clutter.BehaviourBspline.append() to append_knots().
+
+	* clutter/clutter-effect.override: Ignore the construct()
+	method; implement clutter.Effect.rotate(), using a 3-element
+	tuple for the rotation center.
+
+	* clutter/clutter.override: Remove more fixed point ignored
+	API; remove the old clutter.Box wrappers.
+
+	* clutter/clutter-actor.override: Remove even mode fixed point
+	ignored API; implement clutter.Actor.get_anchor_point()
+
+2008-01-03  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base-types.defs:
+	* clutter/clutter-base.defs: Update with the latest API additions.
+
+2008-01-03  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-model.override: Fix the constructor.
+
+	* clutter/clutter.override: Add more checks in the handle_key_event()
+	method of clutter.Entry.
+
+	* clutter/clutter-base.defs: Remove and rename a couple of methods,
+	just enough to make pyclutter build.
+
+2007-11-28  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-script.override: Ignore ClutterScript
+	connect_signals_full() method.
+
+2007-11-28  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter.override: Ignore the threads idle/timeout
+	convenience API: we need to release the python lock when
+	holding the clutter one, and we cannot do that without
+	reimplementing the convienience API altogether.
+
+2007-11-28  Emmanuele Bassi <ebassi@openedhand.com>
+
+	* clutter/clutter-effect.override: Overrides for the
+	clutter-effect API.
+
+	* clutter/Makefile.am:
+	* clutter/clutter.override: Build glue for clutter-effect
+	overrides.
+
+	* clutter/pyclutter.[ch]: Add pyclutter_effect_complete().
+
+2007-11-27  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base.defs: Remove get_progressx()
+	definition from ClutterTimline.
+
+	* clutter/Makefile.am:
+	* clutter/clutter.override: Build glue for ClutterModel
+	overrides.
+
+	* clutter/clutter-model.override: Initial stabe at the
+	overrides for ClutterModel.
+
+2007-11-27  Emmanuele Bassi <ebassi@openedhand.com>
+
+	* clutter/Makefile.am: Add clutter-script.override
+
+	* clutter/clutter-script.override: Overrides for using
+	ClutterScript within python: get_objects() returns a list
+	of objects, while connect_signals() will connect python
+	callable objects found in the current namespace.
+
+	* clutter/clutter.override: Include clutter-script.override
+
+2007-11-27  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-actor.override: Override get_position()
+	and get_clip().
+
+2007-11-27  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base-types.defs:
+	* clutter/clutter-base.defs: Merge API additions from trunk.
+
+2007-11-27  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-actor.override: Fix typo in variable
+	declaration.
+
+	* clutter/clutter-base.defs: Remove deprecated and renamed
+	API from the definitions.
+
+2007-11-27  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	Initial work at porting the PyClutter bindings to the
+	API in trunk. this is going to be some overhaul, so please
+	be patient.
+
+	* clutter/clutter-actor.override: Add [sg]et_rotation() API
+
+	* clutter/clutter-base-types.defs:
+	* clutter/clutter-base.defs: Start pruning all the definitions
+	that have been removed/are to be removed from upstream.
+
+	* clutter/clutter-boxed.override: Ditto as above.
+
+	* clutter/clutter-event.override: Add ClutterEventCrossing and
+	make the event code a little more generic.
+
+	* clutter/pyclutter.[ch]: Remove C utility functions for the
+	types that have been removed.
+
+	* py-compile: Do not put py-compile under revision control.
+
+2007-09-17  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-behaviour.override: Initialise the ctor
+	parameters for every clutter.Behaviour; now it's possible
+	to create any behaviour instance without passing any parameter
+	to the constructors and change the parameters later on,
+	without having the python bindings segfault.
+
+2007-09-15  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-behaviour.override: Do not segfault when
+	an invalid number of arguments is passed to the various
+	behaviours constructors. (#506, Giuliani Vito Ivan)
+
+2007-09-15  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-color.override: Initialise the value of
+	the color components, so that clutter.Color() does the
+	right thing. (#507, Giuliani Vito Ivan)
+
+2007-09-13  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	Merge from pyclutter-0-4
+
+	* clutter/clutter-behaviour.override: Add more sanity checks
+	on the arguments passed to the alpha functions.
+
+2007-09-05  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* examples/super-oh.py:
+	* examples/redhand.png: Add the SuperOH example; ported from
+	the original C source by Paul Cooper.
+
+2007-09-03  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-behaviour.override: Fix up the names of the
+	properties in the clutter.BehaviourDepth constructor.
+
+2007-08-20  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* configure.ac: Bump up to 0.5.0 and require development branches
+	for all the modules.
+
+2007-08-20  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-boxed.override: Fix clutter.Margin() and
+	clutter.Padding() constructors.
+
+	* clutter/clutter-event.override: Ignore clutter_event_copy()
+	and clutter_event_free(), as we're not supposed to pass events
+	as boxed types.
+
+	* clutter/clutter-base.defs: Add fake constructors for
+	clutter.ActorBox, clutter.Margin and clutter.Padding.
+
+2007-08-20  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* configure.ac: Bump to 0.5.0 and required clutter 0.5 as well
+
+2007-08-19  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* examples/cairo-texture.py: Update example, add a cloned texture.
+
+2007-08-08  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base.defs: Add fake constructors for the boxes
+	types we wrap.
+
+	* clutter/clutter-actor.override: Override the set_geometry() and
+	get_geometry() methods to return and accept a 4-tuple.
+
+	* clutter/pyclutter.[ch]: Add a conversion function for PyObject
+	to ClutterGeometry.
+
+2007-08-07  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* configure.ac:
+	* README:
+	* NEWS: Update and release 0.4.0 (see svn log for details).
+
+2007-03-26  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* examples/Makefile.am:
+	* examples/hello.py: Add 'hello world' example.
+
+2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* configure.ac: Bump to 0.3.0.
+
+2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* configure.ac: Bump to 0.2.0.
+
+	* configure.ac:
+	* Makefile.am: Remove clutter-gst from the build
+	until it's fixed.
+
+	* README: Add README.
+
+2007-01-18  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter-gst/cluttergst.defs:
+	* clutter-gst/cluttergst.override:
+	* clutter-gst/cluttergstmodule.c:
+	* clutter-gst/Makefile.am: Update clutter.gst module for
+	the ClutterGst library.
+
+	* Makefile.am:
+	* configure.ac: Drop the ClutterGtk wrapper from the build;
+	compile ClutterGst wrapper conditionally if the clutter-gst
+	library is installed; require the newly release clutter 0.2.
+
+	* clutter/clutter-base.defs: Add missing methods.
+
+	* examples/behave.py: Add BehaviourScale object.
+
+2006-12-22  Matthew Allum  <mallum@openedhand.com>
+
+	* pyclutter.doap:
+	Fix so parse-able.
+
+2006-12-19  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter.override: Override clutter_label_set_color()
+	to use the tuple/object color API like the stage and rectangle
+	actors.
+
+2006-12-19  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-behaviour.override: Add more checks and
+	decrement reference count of the right objects.
+
+	* clutter/pyclutter.c: Do not decrement the reference count
+	of the callback arguments tuple after we're done with it,
+	and let the garbage collector do its thing (fixes a reference
+	counting bug in the alpha notify function).
+
+2006-12-15  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/Makefile.am:
+	* clutter/keysyms.py: Add the key symbols list, and use the
+	pygtk lazy loading facility (currently, calls gtk._lazyutils
+	but might be useful to install our own copy?) to load what's
+	needed only when it's needed.
+
+2006-12-15  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base.defs: Add the ClutterMedia virtual
+	functions, so that you can implement the ClutterMedia
+	interface in pure python.
+
+2006-12-15  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* examples/rects.py:
+	* examples/behave.py: Update examples code.
+
+2006-12-15  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-boxed.override: Remove the ClutterColor
+	overridden methods here and put them into clutter-color.override.
+
+	* clutter/pyclutter.h:
+	* clutter/pyclutter.c: Allow conversion from a 4-tuple to
+	a ClutterColor; this is a shortcut for functions taking only
+	a single color parameter, but must be explicitely overridden
+	to allow this behaviour.
+
+	* clutter/clutter-color.override: Put everything concerning
+	ClutterColor here; wrap ClutterColor into its own boxed type
+	to avoid having to reimplement color-related functions for
+	three types of data (integers, tuples and dictionaries); now
+	to create a color use clutter.Color(red,green,blue,alpha)
+	like pygtk; wrap color_from_hls() and color_from_pixel() as
+	package functions; wrap to_hls(), to_pixel(), shade(),
+	darken() and lighten() as instance methods.
+
+	* clutter/clutter.override: Include clutter-color.override;
+	update overridden color setters and color getters.
+
+	* clutter/clutter-base.defs:
+	* clutter/clutter-base-types.defs:
+	* clutter/Makefile.am: Update build and codegen glue.
+
+	* examples/rects.py:
+	* examples/behave.py: Update examples.
+
+2006-12-14  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter.override: Update the rest of the clutter
+	color API to accept tuples, except clutter.color_from_hls()
+	which will accept a tuple, a dictionary or three integers.
+
+2006-12-14  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* examples/rects.py:
+	* examples/behave.py: Update examples.
+
+2006-12-14  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base.defs: Add clutter_feature_available(),
+	clutter_color_equal(), clutter_actor_show_all() and
+	clutter_actor_hide_all().
+
+	* clutter/clutter.override: Provide the correct implementation
+	of clutter.color_parse(); ignore clutter_color_equal(), as
+	python already has an equality test for tuples; allow passing
+	a tuple instead of a tuple of args to clutter.Stage.set_color()
+	and clutter.Rectangle.set_color(): now we can use the
+
+		stage.set_color(clutter.color_parse('DarkSlateGray'))
+	
+	idiomatic construct and everything will work as expected; this
+	breaks backward compatibility: you *must* pass a tuple, not
+	four arguments.
+
+2006-12-12  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-behaviour.override: Add more checks in the
+	do_alpha_notify caller; fix a reference count bug: the alpha
+	value python object got unreffed twice.
+
+2006-12-11  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-behaviour.override: Check for a callable
+	function inside the clutter.Alpha constructor; wrap the
+	clutter.Behaviour.get_actors() method; override the alpha_notify
+	virtual method and proxy, and allow the creation of pure
+	python behaviours.
+
+	* clutter/clutter-base.defs: Add missing methods.
+
+	* clutter/pyclutter.c: Add some checks; use PyObject_CallObject()
+	instead of the generic PyObject_Call(): should be a bit faster.
+
+	* examples/behave.py: Add an example of a pure python behaviour.
+
+2006-12-11  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/pyclutter.h:
+	* clutter/pyclutter.c: Use a better callback mechanism
+	for the invocation of callable functions; still rough,
+	and needs type checking on the parameters.  one might
+	wonder why pygobject bindings don't provide such mechanism
+	in the first place.  machinery heavily borrowed from the
+	perl bindings.
+
+	* clutter/clutter.override:
+	* clutter/clutter-behaviour.override: Update PyClutterCallback
+	usage.
+
+	* examples/behave.py: Add another behaviour for testing.
+
+2006-12-07  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base.defs: Add declaration for the
+	vfunc ClutterBehaviour::alpha_notify; now you can
+	subclass clutter.Behaviour and override do_alpha_notify
+	to create a pure python behaviour.
+
+	* clutter/clutterpython.c:
+	* clutter/pyclutter.c: Rename the helper utils code.
+
+	* Makefile.am: Update with the renamed helper file.
+
+	* clutter-gst/clutter-gst.defs:
+	* clutter-gst/clutter-gst-types.defs: Add defs file
+	for the clutter-gst sub-module.
+
+	* configure.ac:
+	* Makfile.am: Add support for the sub-modules; use the
+	--with-clutter-gtk and --with-clutter-gst configure
+	switch to enable their compilation; fixed the --enable-doc
+	switch.
+
+	* clutter-gst/Makefile.am:
+	* clutter-gtk/Makefile.am: Build glue for the sub-modules.
+
+	* docs/reference/Makefile.am: Add.
+
+2006-12-06  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-behaviour.override: Ignore the single
+	knot clutter_behaviour_path_append_knot(): we have append_knots();
+	add more type error checking inside both the BehaviourPath
+	constructor and append_knots(): we accepts only tuples of
+	pairs, as a knot is immutable once inside the path.
+
+	* examples/behave.py: Add a append_knots() call to test it.
+
+2006-12-06  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter.override:
+	* clutter/clutter-base.defs:
+	* clutter/clutter-base-types.defs: Update with upstream
+	API additions:
+
+		clutter.Rectangle_get_border_color
+		clutter.Rectangle.set_border_color
+		clutter.Rectangle.get_border_width
+		clutter.Rectangle.set_border_width
+	
+	use the new style for constructors
+
+	* clutter/clutter-behaviour.override: Update the clutter.Alpha
+	constructor to accept a function and a timeline as optional
+	arguments; override the clutter.BehaviourPath constructor to
+	accept a tuple of (x, y) pairs as knots.
+
+	* clutter/clutterpython.c: Use the right object as the caller.
+
+	* clutter/__init__.py: Relay the MAX_ALPHA C macro as a module
+	variable; provide pure python implementations of the alpha
+	functions.
+
+	* docs/update-bindings.txt: Add a checklist for updating the
+	bindings when upstream changes.
+
+	* configure.ac: Add a check for building docs if xsltproc is
+	available; now all that's left to do is to use the pygtk
+	xslt and write the docs.
+
+	* examples/behave.py: Simple porting of the upstream behave
+	example program.
+
+2006-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-behaviour.override: Implement the
+	clutter.Knot boxed type as a tuple of two integers.
+
+2006-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	The coverage of global functions is 100.00% (18/18)
+	The coverage of methods is 100.00% (145/145)
+
+	* clutter/clutter-behaviour.override: Implement the
+	final missing method: clutter.BehaviourPath.append_knots().
+
+2006-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	The coverage of global functions is 100.00% (18/18)
+	The coverage of methods is 99.31% (144/145)
+
+	* clutter/clutter.override: Implement the
+	clutter.Group.get_children() method.
+
+	* clutter/clutter-behaviour.override: Remove the empty
+	clutter.BehaviourPath.append_knots() stub; implement the
+	clutter.BehaviourPath.get_knots() method.
+
+2006-11-19  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	The coverage of global functions is 100.00% (18/18)
+	The coverage of methods is 98.62% (143/145)
+
+	* clutter/pyclutter.h:
+	* clutter/clutterpython.c: Add and optional "caller" argument
+	to pyclutter_callback_invoke(): use this argument to change
+	the caller (i.e. the first argument) of the callback from the
+	default (the instance of the class).
+
+	* clutter/clutter.override: Implement clutter.Group.foreach().
+
+	* clutter/clutter-behaviour.override: Implement the
+	clutter.Behaviour.actors_foreach() method.
+
+	* examples/rects.py: Check if the clutter.Group.foreach()
+	method works.
+
+2006-11-18  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* configure.ac: Bump to 0.1.2.
+
+2006-11-18  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	The coverage of global functions is 100.00% (18/18)
+	The coverage of methods is 97.24% (141/145)
+
+	* clutter/Makefile.am: Move back clutter inside a non-versioned
+	module; we don't need the stuff pygtk uses to load the right
+	version.
+
+	* clutter/pyclutter.pc.in: Add Cflags section and the include
+	directory variable.
+
+	* clutter/pyclutter.h:
+	* clutter/clutterpython.c: Utility header for easier bindings;
+	added PyClutterCallback, a wrapper for invoking callbacks; this
+	should really go into pygtk, though - luckily for us, the Perl
+	bindings are more friendly.
+
+	* clutter/cluttermodule.c: Update with the correct prefix.
+
+	* clutter/clutter.override:
+	* clutter/clutter-behaviour.override: Implement the
+	missing clutter.Alpha.set_func() method using the newly
+	added PyClutterCallback.
+
+	* examples/rects.py: Print the version tuple.
+
+2006-11-18  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	The coverage of global functions is 100.00% (18/18)
+	The coverage of methods is 96.55% (140/145)
+
+	* clutter/clutter-behaviour.override: Add override for
+	behaviours and alpha objects; add the convenience alpha
+	functions to the ignore-list.
+
+	* clutter/Makefile.am:
+	* clutter/clutter.override: Update.
+
+2006-11-18  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	The coverage of global functions is 81.82% (18/22)
+	The coverage of methods is 95.24% (140/147)
+
+	* clutter/clutter-base-types.defs:
+	* clutter/clutter-base.defs: Reinstate the base files
+
+	* clutter/clutter-actor.override:
+	* clutter/clutter-boxed.override:
+	* clutter/clutter-event.override: Move out the overrides
+	to their own files, to keep things clean.
+
+	* clutter/Makefile.am: Update.
+
+	* Makefile.am:
+	* createdefs.py: Generates the .defs files.
+
+2006-11-17  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	The coverage of global functions is 76.19% (16/21)
+	The coverage of methods is 91.84% (135/147)
+
+	* clutter/clutter.defs: Sync with upstream API changes - hopefully,
+	the API should be a bit more stable now.
+
+2006-11-16  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	The coverage of global functions is 100.00% (16/16)
+	The coverage of methods is 92.31% (132/143)
+
+	* clutter/clutter.override: Update from upstream API changes.
+	
+	* clutter/Makefile.am:
+	* clutter/clutter-base.defs:
+	* clutter/clutter-base-types.defs:
+	* clutter/clutter.defs: Consolidate the definitions inside
+	a single file; there's no point making stuff more complicated
+	than already is.
+
+2006-11-15  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter.override:
+	* clutter/clutter-base.defs:
+	* clutter/clutter-base-types.defs: Update after upstream. Still
+	doesn't built, but it's a beginning.
+
+2006-07-08  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* configure.ac: Require clutter 0.1.1 and update our own version.
+
+2006-07-08  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter.override: Add accessors for the clutter.Event
+	object (Ross Burton, #104).
+
+	* clutter/clutter-base.defs:
+	* clutter/clutter-base-types.defs: Make clutter.event_new the
+	constructor for the clutter.Event object, and specify the boxed
+	type functions for copy and free.
+
+	* examples/rects.py: Change the example to include the usage of
+	the new event accessors.
+
+2006-07-06  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/clutter-base.defs:
+	* clutter/clutter-base-types.defs: Resync with the API changes
+	inside clutter.
+
+2006-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/__init__.py: Relay __version__ from the shared object
+	to the main package.
+
+2006-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/cluttermodule.c: Remove the debug messages and fix the
+	__version__ tuple generation.
+
+2006-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* clutter/Makefile.am: Install a _clutter shared object and then add
+	a __init__.py loading the right namespace.
+
+2006-06-23  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* pyclutter/*
+	* *: Move python bindings out of tree.
+
+2006-06-23  Ross Burton  <ross@openedhand.com>
+
+	* python/Makefile.am:
+	Fix -avoid-version so we don't install clutter.so.0.0.0.
+
+2006-06-22  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* python/Makefile.am:
+	* python/clutter.override:
+	* python/clutter-base.defs:
+	* python/clutter-base-types.defs: Bind updated clutter.Timeline API;
+	bind clutter.Media interface and clutter.VideoTexture.
+
+2006-06-22  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* python/Makefile.am:
+	* python/pyclutter.pc.in: Add a pkgconfig file in order to
+	check for bindings existence.
+
+2006-06-22  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* python/clutter-base-types.defs: Remove ClutterActorTransform.
+
+2006-06-13  Matthew Allum  <mallum@openedhand.com>
+
+	* ChangeLog:
+	* python/Makefile.am:
+	* python/clutter-base-types.defs:
+	* python/clutter-base.defs:
+	* python/clutter.override:
+	Rename element -> actor. 
+	Disable video texture bindings as to build again.
+
+2006-06-06  Matthew Allum  <mallum@openedhand.com>
+
+	* python/clutter-base.defs:
+	Add support for set/get_depth. Fix timeline declaration.
+
+2006-06-05  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* python/clutter-base-types.defs:
+	* python/clutter-base.defs:
+	* python/clutter.override: Wrap new API and objects.
+
+2006-05-27  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* python/clutter-base.defs: Make static functions appear like
+	package methods, e.g.: clutter_main() is clutter.main() and
+	not clutter.clutter_main().  Changed functions are:
+	    C name			  Python name
+	  - clutter_main		- clutter.main
+	  - clutter_stage		- clutter.stage
+	  - clutter_want_debug		- clutter.want_debug
+	  - clutter_redraw		- clutter.redraw
+	  - clutter_threads_enter	- clutter.threads_enter
+	  - clutter_threads_leave	- clutter.threads_leave
+	
+	* python/clutter.override: Ignore all X11 and GL related
+	functions, as we don't have type definitions for them; fix typos
+	and cut-and-paste errors; make the threads_enter and main static
+	function use the pygobject threading facilities.
+
+	* Makefile.am: Rework the build system.  The defs files have been
+	split in two: clutter-base-types.def for the type declarations
+	and clutter-base.defs for the methods and functions.  The python
+	glue code depends on two auto-generated files: clutter.defs and
+	clutter-types.defs; these two files includes the clutter-base
+	files.  If the API changes, run "make update-defs": it will
+	create a "clutter-api.defs" which should be hand-edited and
+	the new sections added to the clutter-base files.  This is needed
+	because we do some mangling of the namespace and static functions
+	names, so we can't rely on the h2defs generator.
+
+2006-05-27  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	API coverage:
+	  - global functions: 71.43% (10/14)
+	  - methods:          95.40% (83/87)
+
+	* python/clutter.override: Implement bindings for the missing
+	ClutterTexture methods:
+	  - get_base_size
+	  - get_n_tiles
+	  - get_x_tile_detail
+	  - get_y_tile_detail
+	
+	* python/clutter.override: Implement the ClutterGroup.add_many
+	method.
+
+2006-05-26  Emmanuele Bassi  <ebassi@openedhand.com>
+
+	* python/clutter-base.defs:
+	* python/clutter-base-types.defs:
+	* python/clutter.override: Fix ClutterGeometry bindings;
+	implement ClutterElementBox bindings.
+
+	* python/Makefile.am: Use variables instead of hard-coded
+	file names.
+
+.PHONY: all clean force-ocamlbuild
+all: all.otarget
+
+# Do not match any implicit rules against GNUmakefile or myocamlbuild.ml
+GNUmakefile: ;
+
+configure: configure.ac aclocal.m4
+	autoconf
+aclocal.m4: configure.ac $(wildcard m4/*.m4)
+	aclocal -I m4
+config.status: configure
+	./$< --no-create
+CONFIG_TARGETS:=$(patsubst %.in,%,$(wildcard config/*.in))
+$(CONFIG_TARGETS): %: config.status %.in
+	./$<
+myocamlbuild_config.ml: | config/myocamlbuild_config.ml
+	ln -s config/myocamlbuild_config.ml $@
+
+clean::
+	rm -rf configure aclocal.m4 config.status config.log autom4te.cache myocamlbuild_config.ml $(CONFIG_TARGETS)
+
+# Patterns matching all the targets we want to build using ocamlbuild
+OCAMLBUILD_TARGET_PATTERNS:= \
+  %.a \
+  %.byte \
+  %.cma \
+  %.cmi \
+  %.cmo \
+  %.cmx \
+  %.cmxa \
+  %.docdir/index.html \
+  %.exe \
+  %.ml \
+  %.mli \
+  %.native \
+  %.o \
+  %.odoc \
+  %.otarget \
+  %.passed \
+  %.tar.gz
+# This catchall rule runs ocamlbuild to rebuild all the targets that
+# have been demanded, but can't be built by make. It uses the phony
+# force-ocamlbuild target to make sure ocamlbuild is only called once,
+# even if multiple targets are demanded.
+$(OCAMLBUILD_TARGET_PATTERNS): force-ocamlbuild ;
+force-ocamlbuild: config/ocamlbuild-exe myocamlbuild_config.ml
+	$(shell cat $<) $(OCAMLBUILD_FLAGS) $(OCAMLBUILD_TARGETS) $(OCAMLBUILD_OUTPUT_PROCESSING)
+# The list of targets for ocamlbuild is the targets given to make, but
+# without any make specific targets.
+OCAMLBUILD_TARGETS:=$(filter $(OCAMLBUILD_TARGET_PATTERNS),$(MAKECMDGOALS))
+# If we have no explicit ocamlbuild targets, build all.otarget
+OCAMLBUILD_TARGETS:=$(if $(strip $(OCAMLBUILD_TARGETS)),$(OCAMLBUILD_TARGETS),all.otarget)
+# When running in a terminal without cursor movement support (emacs)
+# use the classic display
+OCAMLBUILD_FLAGS += $(if $(filter dumb,$(TERM)),-classic-display) -X ocaml
+# When running with FLYMAKE nonempty, add some sed post-processing to
+# put the ocaml messages on the same line as the file and line number
+# information
+OCAMLBUILD_OUTPUT_PROCESSING:=$(if $(FLYMAKE), | sed -e '/:$$/{N;s%\n% %;}',)
+
+clean::
+	rm -rf _build
+
+# Disable the built-in pattern rules.
+.SUFFIXES:
+SUBDIRS = clutter examples demos 
+
+if BUILD_CLUTTERGST
+SUBDIRS += clutter-gst
+endif
+
+if BUILD_CLUTTERGTK
+SUBDIRS += clutter-gtk
+endif
+
+if BUILD_CLUTTERCAIRO
+SUBDIRS += clutter-cairo
+endif
+
+if BUILD_TIDY
+SUBDIRS += tidy
+endif
+
+if ENABLE_DOCS
+SUBDIRS += docs
+endif
+
+pyclutter-$(PYCLUTTER_MAJOR_VERSION).$(PYCLUTTER_MINOR_VERSION).pc: pyclutter.pc
+	@cp -f $< $(@F)
+
+pkgfiles = pyclutter-$(PYCLUTTER_MAJOR_VERSION).$(PYCLUTTER_MINOR_VERSION).pc
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = $(pkgfiles)
+
+DIST_SUBDIRS = \
+	docs \
+	clutter \
+	examples \
+	clutter-gst \
+	clutter-gtk \
+	clutter-cairo \
+	tidy
+
+EXTRA_DIST = createdefs.py py-compile
+
+CLEANFILES = $(pkgfiles)
+
+# Extra clean files so that maintainer-clean removes *everything*
+MAINTAINERCLEANFILES = \
+	aclocal.m4 \
+	compile \
+	config.guess \
+	config.sub \
+        configure \
+	depcomp \
+	install-sh \
+	ltmain.sh \
+	Makefile.in \
+	missing \
+	config.h.in
+
+PyClutter
+=========
+
+This archive contains the bindings for OCAML for the Clutter toolkit.
+
+If you have any enhancements of bug reports, please send them to:
+
+  rvanmelle@gmail.com
+
+Requirements
+------------
+  * GLib 2.14.0 or higher
+  * GTK+ 2.10.0 or higher
+  * Clutter 0.5.4 or higher
+  * Ocaml >= 3.10
+
+In order to build the bindings for clutter-cairo you will also need:
+  * Cairo >= ??
+
+In order to build the bindings for clutter-gst you will also need:
+  * GStreamer >= 0.10
+
+In order to build the bindings for clutter-gtk you will also need:
+  * GTK+ >= 2.10
+
+This release is supporting the following Clutter releases:
+
+        clutter-core    0.6.2
+        clutter-gst     0.6.1
+        clutter-gtk     0.6.0
+        clutter-cairo   0.6.0
+
+Installation
+------------
+
+In order to install this module type the following:
+
+  ./configure
+  make
+  make install
+
+To avoid installing to a system directory you can change the installation
+prefix at configure time with
+
+  ./configure --prefix=/some/other/place
+
+Copyright and License
+---------------------
+
+Copyright (C) 2006-2008  Reid van Melle 
+
+This library is free software; you can redistribute it and/or modify it under
+the terms of the GNU Library 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 Library General Public License for more
+details.
+
+You should have received a copy of the GNU Library General Public License along
+with this library; if not, write to the Free Software Foundation, Inc., 59
+Temple Place - Suite 330, Boston, MA  02111-1307  USA.
+examples/pong.native
+examples/ripples.native

clutter/bindings.c

+#include <caml/mlvalues.h>
+#include <caml/callback.h>
+#include <caml/alloc.h>
+#include <caml/memory.h>
+
+#include <assert.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdarg.h>
+
+typedef int* serialize_func;
+typedef int* deserialize_func;
+
+CAMLprim value ml_serialize(serialize_func sf, void* v) {
+  CAMLparam0();
+  CAMLreturn((value)0);
+}
+
+CAMLprim value ml_deserialize(deserialize_func df, value vba) {
+  CAMLparam0();
+  CAMLreturn((value)Val_unit);
+}
+
+CAMLprim value ml_abort(value vba) {
+  CAMLparam1(vba);
+  abort();
+  CAMLreturn((value)0);
+}
+

clutter/clutter.ml

+external boom : unit -> 'a = "ml_abort"
+
+
+

clutter/mlclutter-ocaml.mlobj

+Clutter
+

config/myocamlbuild_config.ml.in

+(** DO NOT EDIT myocamlbuild_config.ml, instead modify config/myocamlbuild_config.ml.in *)
+
+let cc = "@CC@"
+and ar = "@AR@"
+and cp = "@CP@"
+and cflags = "@CFLAGS@"
+and cppflags = "@CPPFLAGS@"
+and ldflags = "@LDFLAGS@"
+and libs = "@LIBS@"
+and ocaml_lib_path = "@OCAMLLIB@"
+and ld_library_path = "@LD_LIBRARY_PATH@"
+and path = "@PATH@"
+;;
+
+let setup_tags add_lib add_c_lib =
+  add_lib "use_opengl" "@LABLGL_INCLUDES@" ["lablgl"] [];
+  add_lib "use_glut" "@LABLGLUT_INCLUDES@" ["lablglut"] [];
+  add_lib "use_cairo" "@CAIRO_INCLUDES@" ["cairo"] [];
+  add_lib "use_gtk" "@GTK_INCLUDES@" ["lablgtk"] ["gtkInit"];
+  add_lib "use_cairo_gtk" "@CAIRO_INCLUDES@" ["cairo_lablgtk"] [];
+  
+  add_c_lib "use_glut" "@GLUT_CPPFLAGS@" "@GLUT_LDFLAGS@" "@GLUT_LIBS@";
+  add_c_lib "use_opengl" "@OPENGL_CPPFLAGS@" "@OPENGL_LDFLAGS@" "@OPENGL_LIBS@";  
+  add_c_lib "use_gtk2" "@GTK2_CFLAGS@" "" "@GTK2_LIBS@";
+  add_c_lib "use_gthread2" "@GTHREAD2_CFLAGS@" "" "@GTHREAD2_LIBS@";
+  add_c_lib "use_cairo" "@CAIRO_CFLAGS@" "" "@CAIRO_LIBS@";
+  add_c_lib "use_clutter" "@CLUTTER_CFLAGS" "" "@CLUTTER_LIBS@";
+  add_c_lib "use_cluttercairo" "@CLUTTER_CAIRO_CFLAGS" "" "@CLUTTER_CAIRO_LIBS@";  
+  ()

config/ocamlbuild-exe.in

+@OCAMLBUILD@
+# Process this file with autoconf to produce a configure script.
+AC_INIT([clutter-ocaml], [0.1], [rvanmelle@gmail.com])
+AC_CONFIG_MACRO_DIR ([m4])
+
+PKG_PROG_PKG_CONFIG([0.22])
+AC_PROG_OCAML
+AC_PROG_OCAMLBUILD
+OCAMLBUILD=`which $OCAMLBUILD`
+AC_PROG_FINDLIB
+AC_LIB_GLUT
+
+# Check for ar
+AR=ar
+AC_SUBST([AR])
+
+# Check for cp
+CP=cp
+AC_SUBST([CP])
+
+# Look for gtk2, and cairo using pkg-config
+PKG_CHECK_MODULES([GTK2], [gtk+-2.0 >= 2.12.0])
+PKG_CHECK_MODULES([CAIRO], [cairo >= 1.4.8])
+PKG_CHECK_MODULES([GTHREAD2], [gthread-2.0 >= 2.14.1])
+PKG_CHECK_MODULES([CLUTTER], [clutter-0.6 >= 0.6])
+PKG_CHECK_MODULES([CLUTTER_CAIRO], [clutter-cairo-0.6 >= 0.6])
+
+# Check for cairo
+tmp_MODULE_INCLUDES="$MODULE_INCLUDES"
+tmp_EXTRA_CMA="$EXTRA_CMA"
+MODULE_INCLUDES=""
+EXTRA_CMA="bigarray.cma"
+AC_CHECK_OCAML_MODULE(
+  [cairo],
+  [Cairo],
+  [+cairo],
+  [http://ocaml-lib.sourceforge.net])
+AC_SUBST([CAIRO_INCLUDES],[$MODULE_INCLUDES])
+AC_SUBST([CAIRO_EXTRA_CMA],[$EXTRA_CMA])
+MODULE_INCLUDES="$tmp_MODULE_INCLUDES"
+EXTRA_CMA="$tmp_EXTRA_CMA"
+
+# Check for gtk
+tmp_MODULE_INCLUDES="$MODULE_INCLUDES"
+tmp_EXTRA_CMA="$EXTRA_CMA"
+MODULE_INCLUDES=""
+EXTRA_CMA=""
+AC_CHECK_OCAML_MODULE(
+  [lablgtk],
+  [GWindow],
+  [+lablgtk2],
+  [http://ocaml-lib.sourceforge.net])
+AC_SUBST([GTK_INCLUDES],[$MODULE_INCLUDES])
+AC_SUBST([GTK_EXTRA_CMA],[$EXTRA_CMA])
+MODULE_INCLUDES="$tmp_MODULE_INCLUDES"
+EXTRA_CMA="$tmp_EXTRA_CMA"
+
+# Finish up
+AC_SUBST([PATH])
+AC_CONFIG_FILES([config/ocamlbuild-exe config/myocamlbuild_config.ml])
+AC_OUTPUT
+
+
+dnl check for clutter
+PKG_CHECK_MODULES(CLUTTER, clutter-0.7 >= clutter_required_version)
+AC_SUBST(CLUTTER_CFLAGS)
+AC_SUBST(CLUTTER_LIBS)
+if test -n "$export_dynamic"; then
+  CLUTTER_LIBS=`echo $CLUTTER_LIBS | sed -e "s/$export_dynamic//"`
+fi
+
+dnl check for sub modules
+
+if test "x$PYGST_DEFSDIR" = "x"; then
+  AC_MSG_WARN([No PyGStreamer definitions found, disabling clutter-gst])
+  build_cluttergst=no
+else
+  build_cluttergst=yes
+fi
+
+AC_ARG_WITH(cluttergst,
+            AC_HELP_STRING([--with-cluttergst=@<:@yes/no@:>@],
+                           [Build clutter.cluttergst submodule]),
+            build_cluttergst=$with_cluttergst)
+
+if test "x$build_cluttergst" = "xyes"; then
+  PKG_CHECK_MODULES(CLUTTERGST,
+                    clutter-gst-0.7 >= cluttergst_required_version,
+                    build_cluttergst=yes,
+                    build_cluttergst=no)
+  AC_SUBST(CLUTTERGST_CFLAGS)
+  AC_SUBST(CLUTTERGST_LIBS)
+  if test -n "$export_dynamic"; then
+    CLUTTERGST_LIBS=`echo $CLUTTERGST_LIBS | sed -e "s/$export_dynamic//"`
+  fi
+fi
+
+AC_OUTPUT
+
+echo "* clutter-ocaml:
+        build cluttergtk:     $build_cluttergtk
+        build cluttercairo:   $build_cluttercairo
+"
+<*>: use_clutter, use_clutterml
+let _ =
+  Printf.printf "Hello World!\n%!";
+  Clutter.boom()

examples/ripples.ml

+let _ =
+  Printf.printf "Hello from ripples"
+dnl macro AC_LIB_OPENGL checks for gl.h and libGL.
+dnl       OPENGL_CPPFLAGS -> include options for '#include <GL/gl.h>'
+dnl       OPENGL_LDFLAGS -> -L options to find libopengl et. al.
+dnl       OPENGL_LIBS -> -l options to link in opengl libs
+AC_DEFUN([AC_LIB_OPENGL], [dnl
+AC_BEGIN_LINK([OPENGL],[OpenGL],
+  [AC_LANG_PROGRAM([[
+#ifdef __APPLE__
+#include <OpenGL/gl.h>
+#else
+#include <GL/gl.h>
+#endif
+  ]],[
+glInitNames();
+  ])])
+AC_TRY_LINK_FLAGS([],[],[-lGL])
+AC_TRY_LINK_FLAGS([],[-framework opengl],[])
+AC_END_LINK])[]dnl
+
+dnl macro AC_LIB_GLUT checks for glut.h and libglut.
+dnl       GLUT_CPPFLAGS -> include options for '#include <GLUT/glut.h>'
+dnl       GLUT_LDFLAGS -> -L options to find libglut et. al.
+dnl       GLUT_LIBS -> -l options to link in glut libs
+AC_DEFUN([AC_LIB_GLUT], [dnl
+AC_REQUIRE([AC_LIB_OPENGL])[]dnl
+AC_BEGIN_LINK([GLUT],[glut],
+  [AC_LANG_PROGRAM([[
+#include <stddef.h>
+#ifdef __APPLE__
+#include <GLUT/glut.h>
+#else
+#include <GL/glut.h>
+#endif
+  ]],[
+int argc;
+char* argv[] = {NULL};
+glutInit(&argc, argv);
+  ])])
+CPPFLAGS="$CPPFLAGS $OPENGL_CPPFLAGS"
+LDFLAGS="$LDFLAGS $OPENGL_LDFLAGS"
+LIBS="$OPENGL_LIBS $LIBS"
+AC_TRY_LINK_FLAGS([],[],[-lglut])
+AC_TRY_LINK_FLAGS([],[-framework glut],[])
+AC_END_LINK])[]dnl
+dnl This file was synchronized with template ($Revision$)
+dnl
+dnl -*- autoconf -*- macros for OCaml
+dnl by Grigory Batalov <bga@altlinux.org>, 2005
+dnl by Olivier Andrieu
+dnl from a configure.in by Jean-Christophe FilliUtre,
+dnl from a first script by Georges Mariano
+dnl
+dnl defines AC_PROG_OCAML that will check the OCaml compiler
+dnl and set the following variables :
+dnl   OCAMLC        "ocamlc" if present in the path, or a failure
+dnl                 or "ocamlc.opt" if present with same version number as ocamlc
+dnl   OCAMLOPT      "ocamlopt" (or "ocamlopt.opt" if present), or unset
+dnl   OCAMLDEP      "ocamldep"
+dnl   OCAMLLIB      the path to the ocaml standard library
+dnl   OCAMLVERSION  the ocaml version number
+dnl
+dnl   OCAMLMKTOP    
+dnl   OCAMLMKLIB    
+dnl   OCAMLDOC
+
+AC_DEFUN([AC_PROG_OCAML], [
+
+dnl Checking for OCaml compiler
+AC_CHECK_PROG(have_ocamlc, ocamlc, yes, no)
+if test "$have_ocamlc" = no; then
+    AC_MSG_ERROR(Cannot find ocamlc)
+    unset OCAMLC
+else
+    OCAMLC=ocamlc
+fi
+
+dnl Checking OCaml version
+AC_MSG_CHECKING(for OCaml version)
+OCAMLVERSION=$($OCAMLC -version)
+AC_MSG_RESULT($OCAMLVERSION)
+if test "$OCAMLVERSION" = ""; then
+    AC_MSG_ERROR(OCaml version not set)
+fi
+
+dnl Searching for library path
+AC_MSG_CHECKING(for OCaml library path)
+OCAMLLIB=$($OCAMLC -where)
+AC_MSG_RESULT($OCAMLLIB)
+if test "$OCAMLLIB" = ""; then
+    AC_MSG_ERROR(OCaml library path)
+fi
+
+dnl Checking for OCaml native compiler
+AC_CHECK_PROG(have_ocamlopt, ocamlopt, yes, no)
+if test "$have_ocamlopt" = "no"; then
+    AC_MSG_WARN(Cannot find ocamlopt; bytecode compilation only)
+    unset OCAMLOPT
+else
+    OCAMLOPT=ocamlopt
+    AC_MSG_CHECKING(for ocamlopt version)
+    TMPVERSION=$($OCAMLOPT -version)
+    AC_MSG_RESULT($TMPVERSION)
+    if test "$TMPVERSION" = ""; then
+	AC_MSG_ERROR(ocamlopt version not set; ocamlopt discarded)
+	unset OCAMLOPT
+    fi
+    if test "$TMPVERSION" != "$OCAMLVERSION" ; then
+	AC_MSG_WARN(($TMPVERSION) differs from ocamlc; ocamlopt discarded)
+	unset OCAMLOPT
+    fi
+fi
+
+dnl Checking for ocamlc.opt
+AC_CHECK_PROG(have_ocamlcdotopt, ocamlc.opt, yes, no)
+if test "$have_ocamlcdotopt" = "no"; then
+    unset OCAMLCDOTOPT
+else
+    OCAMLCDOTOPT=ocamlc.opt
+    AC_MSG_CHECKING(for ocamlc.opt version)
+    TMPVERSION=$($OCAMLCDOTOPT -version)
+    AC_MSG_RESULT($TMPVERSION)
+    if test "$TMPVERSION" = ""; then
+	AC_MSG_ERROR(ocamlc.opt version not set; ocamlc.opt discarded)
+	unset OCAMLCDOTOPT
+    fi
+    if test "$TMPVERSION" != "$OCAMLVERSION" ; then
+	AC_MSG_RESULT(($TMPVERSION) differs from ocamlc; ocamlc.opt discarded)
+	unset OCAMLCDOTOPT
+    else
+	OCAMLC=$OCAMLCDOTOPT
+    fi
+fi
+
+dnl Checking for ocamlopt.opt
+if test "$have_ocamlopt" = "yes"; then
+    AC_CHECK_PROG(have_ocamloptdotopt, ocamlopt.opt, yes, no)
+    if test "$OCAMLOPTDOTOPT" = "no"; then
+	unset OCAMLOPTDOTOPT
+    else
+	OCAMLOPTDOTOPT=ocamlopt.opt
+	AC_MSG_CHECKING(for ocamlopt.opt version)
+	TMPVERSION=$($OCAMLOPTDOTOPT -version)
+	AC_MSG_RESULT($TMPVERSION)
+	if test "$TMPVERSION" = ""; then
+	    AC_MSG_ERROR(ocamlopt.opt version not set; ocamlopt.opt discarded)
+	    unset OCAMLOPTDOTOPT
+	fi
+	if test "$TMPVERSION" != "$OCAMLVERSION" ; then
+	    AC_MSG_RESULT(($TMPVERSION) differs from ocamlc; ocamlopt.opt discarded)
+	    unset OCAMLOPTDOTOPT
+	else
+	    OCAMLOPT=$OCAMLOPTDOTOPT
+	fi
+    fi
+fi
+
+dnl Checking for ocamldep
+AC_CHECK_PROG(have_ocamldep, ocamldep, yes, no)
+if test "$have_ocamldep" = no; then
+    AC_MSG_ERROR(Cannot find ocamldep)
+    unset OCAMLDEP
+else
+    OCAMLDEP=ocamldep
+fi
+
+dnl Checking for ocamlmktop