diff --git a/README.md b/README.md index 01be939..8db19f7 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ # pygtk +PyGTK provides a convenient wrapper for the GTK library for use in Python programs, and takes care of many of the boring details such as managing memory and type casting. +When combined with PyORBit and gnome-python, it can be used to write full featured Gnome applications. + diff --git a/pygtk-2.10.4-buildroot_fix.patch b/pygtk-2.10.4-buildroot_fix.patch new file mode 100644 index 0000000..4e32aa3 --- /dev/null +++ b/pygtk-2.10.4-buildroot_fix.patch @@ -0,0 +1,211 @@ +diff -Nru pygtk-2.10.4.orig/codegen/Makefile.in pygtk-2.10.4/codegen/Makefile.in +--- pygtk-2.10.4.orig/codegen/Makefile.in 2007-02-05 21:55:35.000000000 +0100 ++++ pygtk-2.10.4/codegen/Makefile.in 2007-03-16 19:02:29.000000000 +0100 +@@ -306,7 +306,7 @@ + else :; fi; \ + done; \ + test -z "$$dlist" || \ +- PYTHON=$(PYTHON) $(py_compile) --basedir "$(DESTDIR)$(codegendir)" $$dlist ++ PYTHON=$(PYTHON) $(py_compile) --basedir "$(codegendir)" --destdir $(DESTDIR) $$dlist + + uninstall-codegenPYTHON: + @$(NORMAL_UNINSTALL) +diff -Nru pygtk-2.10.4.orig/examples/Makefile.in pygtk-2.10.4/examples/Makefile.in +--- pygtk-2.10.4.orig/examples/Makefile.in 2007-02-05 21:55:35.000000000 +0100 ++++ pygtk-2.10.4/examples/Makefile.in 2007-03-16 19:02:29.000000000 +0100 +@@ -380,7 +380,7 @@ + else :; fi; \ + done; \ + test -z "$$dlist" || \ +- PYTHON=$(PYTHON) $(py_compile) --basedir "$(DESTDIR)$(demodir)" $$dlist ++ PYTHON=$(PYTHON) $(py_compile) --basedir "$(demodir)" --destdir $(DESTDIR) $$dlist + + uninstall-demoPYTHON: + @$(NORMAL_UNINSTALL) +@@ -403,7 +403,7 @@ + else :; fi; \ + done; \ + test -z "$$dlist" || \ +- PYTHON=$(PYTHON) $(py_compile) --basedir "$(DESTDIR)$(pygtklibdir)" $$dlist ++ PYTHON=$(PYTHON) $(py_compile) --basedir "$(pygtklibdir)" --destdir $(DESTDIR) $$dlist + + uninstall-pygtklibPYTHON: + @$(NORMAL_UNINSTALL) +diff -Nru pygtk-2.10.4.orig/gtk/Makefile.in pygtk-2.10.4/gtk/Makefile.in +--- pygtk-2.10.4.orig/gtk/Makefile.in 2007-02-05 21:55:36.000000000 +0100 ++++ pygtk-2.10.4/gtk/Makefile.in 2007-03-16 19:02:29.000000000 +0100 +@@ -811,7 +811,7 @@ + else :; fi; \ + done; \ + test -z "$$dlist" || \ +- PYTHON=$(PYTHON) $(py_compile) --basedir "$(DESTDIR)$(pygtkdir)" $$dlist ++ PYTHON=$(PYTHON) $(py_compile) --basedir "$(pygtkdir)" --destdir $(DESTDIR) $$dlist + + uninstall-pygtkPYTHON: + @$(NORMAL_UNINSTALL) +diff -Nru pygtk-2.10.4.orig/py-compile pygtk-2.10.4/py-compile +--- pygtk-2.10.4.orig/py-compile 2007-02-05 21:55:36.000000000 +0100 ++++ pygtk-2.10.4/py-compile 2007-03-16 19:02:42.000000000 +0100 +@@ -1,9 +1,9 @@ + #!/bin/sh + # py-compile - Compile a Python program + +-scriptversion=2004-01-12.23 ++scriptversion=2005-05-14.22 + +-# Copyright (C) 2000, 2001, 2003, 2004 Free Software Foundation, Inc. ++# Copyright (C) 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc. + + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -17,8 +17,8 @@ + + # You should have received a copy of the GNU General Public License + # along with this program; if not, write to the Free Software +-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +-# 02111-1307, USA. ++# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA ++# 02110-1301, USA. + + # As a special exception to the GNU General Public License, if you + # distribute this file as part of a program that contains a +@@ -34,34 +34,54 @@ + fi + + basedir= ++destdir= ++files= ++while test $# -ne 0; do ++ case "$1" in ++ --basedir) ++ basedir=$2 ++ if test -z "$basedir"; then ++ echo "$0: Missing argument to --basedir." 1>&2 ++ exit 1 ++ fi ++ shift ++ ;; ++ --destdir) ++ destdir=$2 ++ if test -z "$destdir"; then ++ echo "$0: Missing argument to --destdir." 1>&2 ++ exit 1 ++ fi ++ shift ++ ;; ++ -h|--h*) ++ cat <<\EOF ++Usage: py-compile [--help] [--version] [--basedir DIR] [--destdir DIR] FILES..." ++ ++Byte compile some python scripts FILES. Use --destdir to specify any ++leading directory path to the FILES that you don't want to include in the ++byte compiled file. Specify --basedir for any additional path information you ++do want to be shown in the byte compiled file. + +-case "$1" in +- --basedir) +- basedir=$2 +- if test -z "$basedir"; then +- echo "$0: Missing argument to --basedir." 1>&2 +- exit 1 +- fi +- shift 2 +- ;; +- -h|--h*) +- cat <<\EOF +-Usage: py-compile [--help] [--version] [--basedir DIR] FILES..." +- +-Byte compile some python scripts FILES. This should be performed +-after they have been moved to the final installation location ++Example: ++ py-compile --destdir /tmp/pkg-root --basedir /usr/share/test test.py test2.py + + Report bugs to . + EOF +- exit 0 +- ;; +- -v|--v*) +- echo "py-compile $scriptversion" +- exit 0 +- ;; +-esac ++ exit $? ++ ;; ++ -v|--v*) ++ echo "py-compile $scriptversion" ++ exit $? ++ ;; ++ *) ++ files="$files $1" ++ ;; ++ esac ++ shift ++done + +-if [ $# = 0 ]; then ++if test -z "$files"; then + echo "$0: No files given. Try \`$0 --help' for more information." 1>&2 + exit 1 + fi +@@ -69,38 +89,51 @@ + # if basedir was given, then it should be prepended to filenames before + # byte compilation. + if [ -z "$basedir" ]; then +- trans="path = file" ++ pathtrans="path = file" + else +- trans="path = os.path.join('$basedir', file)" ++ pathtrans="path = os.path.join('$basedir', file)" ++fi ++ ++# if destdir was given, then it needs to be prepended to the filename to ++# byte compile but not go into the compiled file. ++if [ -z "$destdir" ]; then ++ filetrans="filepath = path" ++else ++ filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)" + fi + + $PYTHON -c " + import sys, os, string, py_compile + +-files = '''$*''' ++files = '''$files''' ++ + print 'Byte-compiling python modules...' + for file in string.split(files): +- $trans +- if not os.path.exists(path) or not (len(path) >= 3 and path[-3:] == '.py'): ++ $pathtrans ++ $filetrans ++ if not os.path.exists(filepath) or not (len(filepath) >= 3 ++ and filepath[-3:] == '.py'): + continue + print file, + sys.stdout.flush() +- py_compile.compile(path) ++ py_compile.compile(filepath, filepath + 'c', path) + print" || exit $? + + # this will fail for python < 1.5, but that doesn't matter ... + $PYTHON -O -c " + import sys, os, string, py_compile + +-files = '''$*''' ++files = '''$files''' + print 'Byte-compiling python modules (optimized versions) ...' + for file in string.split(files): +- $trans +- if not os.path.exists(path) or not (len(path) >= 3 and path[-3:] == '.py'): ++ $pathtrans ++ $filetrans ++ if not os.path.exists(filepath) or not (len(filepath) >= 3 ++ and filepath[-3:] == '.py'): + continue + print file, + sys.stdout.flush() +- py_compile.compile(path) ++ py_compile.compile(filepath, filepath + 'o', path) + print" 2>/dev/null || : + + # Local Variables: diff --git a/pygtk.spec b/pygtk.spec new file mode 100644 index 0000000..b53a6f1 --- /dev/null +++ b/pygtk.spec @@ -0,0 +1,192 @@ +%define majver %(echo %version | cut -d. -f 1-2) + +Name: pygtk +Version: 2.24.0 +Release: 4mamba +Summary: Python bindings for GTK+ +Group: Development/Bindings +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://www.pygtk.org/ +Source: http://ftp.gnome.org/pub/GNOME/sources/pygtk/%{majver}/pygtk-%{version}.tar.bz2 +Patch0: pygtk-2.10.4-buildroot_fix.patch +License: LGPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libatk-devel +BuildRequires: libcairo-devel +BuildRequires: libexpat-devel +BuildRequires: libfontconfig-devel +BuildRequires: libfreetype-devel +BuildRequires: libglade-devel +BuildRequires: libglib-devel +BuildRequires: libglitz-devel +BuildRequires: libgtk2-devel +BuildRequires: libpango-devel +BuildRequires: libpixman-devel +BuildRequires: libpng-devel +BuildRequires: libpython-devel +BuildRequires: libselinux-devel +BuildRequires: libstdc++6-devel +BuildRequires: libX11-devel +BuildRequires: libXau-devel +BuildRequires: libxcb-devel +BuildRequires: libxcb-util-devel +BuildRequires: libXdmcp-devel +BuildRequires: libxml2-devel +BuildRequires: libXrender-devel +BuildRequires: libz-devel +BuildRequires: pygobject2-devel +BuildRequires: python +BuildRequires: python-cairo-devel +## AUTOBUILDREQ-END +BuildRequires: python-numpy +BuildRequires: python, libpython-devel +BuildRoot: %{_tmppath}/%{name}-%{version}-root +Provides: pygtk2 +Obsoletes: pygtk2 +Requires: pygobject2 +Requires: python-cairo +Requires: python-numpy +Requires(pre): python + +%description +PyGTK provides a convenient wrapper for the GTK library for use in Python programs, and takes care of many of the boring details such as managing memory and type casting. +When combined with PyORBit and gnome-python, it can be used to write full featured Gnome applications. + +%package devel +Summary: Devel package for %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Provides: pygtk2-devel +Obsoletes: pygtk2-devel + +%description devel +PyGTK provides a convenient wrapper for the GTK library for use in Python programs, and takes care of many of the boring details such as managing memory and type casting. +When combined with PyORBit and gnome-python, it can be used to write full featured Gnome applications. + +This package contains files required to build wrappers for GTK+ addon libraries so that they interoperate with pygtk. + +%package demos +Summary: Sample programs for %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Provides: pygtk2-demos +Obsoletes: pygtk2-demos + +%description demos +Sample programs for %{name}. + +%prep +%setup -q -n pygtk-%{version} +#%patch0 -p1 + +%build +%configure \ + --enable-thread \ + --enable-numpy \ + PYTHON=%{__python} + +%make + +%install +[ "%{buildroot}" != / ] && rm -rf %{buildroot} +export tagname=CC +%makeinstall \ + LIBTOOL=/usr/bin/libtool + +%clean +[ "%{buildroot}" != / ] && rm -rf %{buildroot} + +%files +%defattr(-,root,root) +%{python_sitearch}/gtk-2.0/gtk/*.py* +%{python_sitearch}/gtk-2.0/*.la +%{python_sitearch}/gtk-2.0/*.so +%{python_sitearch}/gtk-2.0/gtk/*.la +%{python_sitearch}/gtk-2.0/gtk/*.so +%{_datadir}/pygtk/2.0/defs/pangocairo.override +%doc AUTHORS COPYING ChangeLog MAPPING NEWS README TODO + +%files devel +%defattr(-,root,root) +%{_bindir}/pygtk-codegen-2.0 +%dir %{_includedir}/pygtk-2.0/ +%{_includedir}/pygtk-2.0/pygtk/*.h +%dir %{_datadir}/pygtk/ +#%{_datadir}/pygtk/2.0/codegen/* +%{_datadir}/pygtk/2.0/defs/*.defs +%{_libdir}/pkgconfig/*.pc +%dir %{_datadir}/gtk-doc/html/pygtk +%{_datadir}/gtk-doc/html/pygtk/* + +%files demos +%defattr(-,root,root) +%{_bindir}/pygtk-demo +%{_libdir}/pygtk/2.0/demos/* +%{_libdir}/pygtk/2.0/pygtk-demo* +%doc examples + +%changelog +* Sat May 18 2013 Silvan Calarco 2.24.0-4mamba +- python 2.7 mass rebuild + +* Sat Jan 21 2012 Silvan Calarco 2.24.0-3mamba +- don't use %py_require macro to avoid requiring python3 and libpython3 + +* Thu Jan 05 2012 Silvan Calarco 2.24.0-2mamba +- require pygobject2, not pygobject + +* Fri Sep 16 2011 Automatic Build System 2.24.0-1mamba +- automatic version update by autodist + +* Wed Sep 29 2010 Automatic Build System 2.22.0-1mamba +- automatic update to 2.22.0 by autodist + +* Sat May 29 2010 Automatic Build System 2.17.0-1mamba +- automatic update to 2.17.0 by autodist + +* Sat Oct 17 2009 Silvan Calarco 2.16.0-2mamba +- rebuilt with python-numpy + +* Tue Sep 29 2009 Automatic Build System 2.16.0-1mamba +- automatic update by autodist + +* Thu May 21 2009 Automatic Build System 2.14.1-2mamba +- automatic rebuild by autodist + +* Wed May 06 2009 Automatic Build System 2.14.1-1mamba +- automatic update by autodist + +* Thu Dec 04 2008 Silvan Calarco 2.12.1-2mamba +- automatic rebuild by autodist + +* Wed Oct 01 2008 gil 2.12.1-1mamba +- update to 2.12.1 +- removed patch + +* Thu Sep 20 2007 Silvan Calarco 2.12.0-1mamba +- update to 2.12.0 + +* Thu Sep 20 2007 Silvan Calarco 2.10.6-1mamba +- update to 2.10.6 +- added requirement for pygoject and pycairo + +* Fri Mar 16 2007 Silvan Calarco 2.10.4-1qilnx +- update to version 2.10.4 by autospec +- added buildroot patch again; updated py-compile +- examples moved to demos package + +* Mon Feb 05 2007 Silvan Calarco 2.10.3-1qilnx +- update to version 2.10.3 by autospec +- renamed from pygtk2 to pygtk + +* Mon Nov 06 2006 Davide Madrisan 2.6.3-1qilnx +- update to version 2.6.3 by autospec + +* Tue Aug 09 2005 Silvan Calarco 2.6.2-1qilnx +- update to version 2.6.2 by autospec + +* Thu Nov 25 2004 Davide Madrisan 2.4.1-1qilnx +- package created by autospec