From 99aa2d72c7e59e37c161afaaa53c2df55fa2fcde Mon Sep 17 00:00:00 2001 From: Ron Lee Date: Sun, 24 Sep 2000 14:52:31 +0000 Subject: [PATCH] added python-contrib package. optimised use of configure cache. determine python install dir automatically. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_2_BRANCH@8407 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- debian/changelog | 4 ++ debian/control.in | 11 ++++ debian/libwxgtk-python-contrib.dirs | 2 + debian/libwxgtk-python-contrib.files | 2 + debian/libwxgtk-python-contrib.postinst | 13 +++++ debian/libwxgtk-python-contrib.prerm | 13 +++++ debian/libwxgtk-python.dirs | 3 +- debian/libwxgtk-python.files | 2 +- debian/libwxgtk-python.postinst | 6 +-- debian/libwxgtk-python.prerm | 8 ++- debian/rules | 71 ++++++++++++++++++++----- 11 files changed, 116 insertions(+), 19 deletions(-) create mode 100644 debian/libwxgtk-python-contrib.dirs create mode 100644 debian/libwxgtk-python-contrib.files create mode 100644 debian/libwxgtk-python-contrib.postinst create mode 100644 debian/libwxgtk-python-contrib.prerm diff --git a/debian/changelog b/debian/changelog index 45c869e28a..b04581c616 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,10 @@ wxwindows2.2 (2.2.2) unstable; urgency=low * added missing dependancy for contrib-dev package. Closes: #70880 + * by popular demand, added a package with the python-contrib libs. + * more tweaks to deb/rules. autodetect the python install location, + and cache the results of configure tests for all packages. + * and of course a whole stack of minor fixes in the main codebase too. -- Ron Lee Tue, 5 Sep 2000 18:51:24 +0930 diff --git a/debian/control.in b/debian/control.in index 727cba3172..2983a564fd 100644 --- a/debian/control.in +++ b/debian/control.in @@ -122,6 +122,17 @@ Description: wxWindows Cross-platform C++ GUI toolkit (Python binding) . This package provides a Python binding to the wxGTK library. +Package: libwxgtk=V-python-contrib +Architecture: any +Section: interpreters +Depends: libwxgtk=V-python (= ${Source-Version}), libwxgtk=V-contrib (= ${Source-Version}), ${shlibs:Depends} +Description: wxWindows Cross-platform C++ GUI toolkit (Python binding) + wxWindows is a class library for C++ providing GUI (Graphical User + Interface) and other facilities on more than one platform. Version =V + currently supports subsets of GTK+, Motif, and MS Windows. + . + This package provides Python bindings to the wxGTK contrib libs. + Package: libwxgtk=V-contrib Architecture: any Section: libs diff --git a/debian/libwxgtk-python-contrib.dirs b/debian/libwxgtk-python-contrib.dirs new file mode 100644 index 0000000000..79037e5674 --- /dev/null +++ b/debian/libwxgtk-python-contrib.dirs @@ -0,0 +1,2 @@ +usr/lib/=PY/site-packages/wxPython + diff --git a/debian/libwxgtk-python-contrib.files b/debian/libwxgtk-python-contrib.files new file mode 100644 index 0000000000..79037e5674 --- /dev/null +++ b/debian/libwxgtk-python-contrib.files @@ -0,0 +1,2 @@ +usr/lib/=PY/site-packages/wxPython + diff --git a/debian/libwxgtk-python-contrib.postinst b/debian/libwxgtk-python-contrib.postinst new file mode 100644 index 0000000000..440a4ac991 --- /dev/null +++ b/debian/libwxgtk-python-contrib.postinst @@ -0,0 +1,13 @@ +#!/bin/sh + +set -e + +WXPYTHONDIR="/usr/lib/=PY/site-packages/wxPython" + +if [ "$1" = "configure" ]; then + python /usr/lib/=PY/compileall.py -q ${WXPYTHONDIR} + python -O /usr/lib/=PY/compileall.py -q ${WXPYTHONDIR} +fi + +#DEBHELPER# + diff --git a/debian/libwxgtk-python-contrib.prerm b/debian/libwxgtk-python-contrib.prerm new file mode 100644 index 0000000000..7ea52df74a --- /dev/null +++ b/debian/libwxgtk-python-contrib.prerm @@ -0,0 +1,13 @@ +#!/bin/sh + +set -e + +PACKAGE="libwxgtk=V-python-contrib" + +dpkg --listfiles $PACKAGE | + awk '$0~/\.py$/ {print $0"c\n" $0"o"}' | + xargs rm -f >&2 + + +#DEBHELPER# + diff --git a/debian/libwxgtk-python.dirs b/debian/libwxgtk-python.dirs index cab7c0ae3d..292a0fc4f3 100644 --- a/debian/libwxgtk-python.dirs +++ b/debian/libwxgtk-python.dirs @@ -1 +1,2 @@ -usr/lib/python1.5/site-packages/wxPython/lib/sizers +usr/lib/=PY/site-packages/wxPython/lib/sizers + diff --git a/debian/libwxgtk-python.files b/debian/libwxgtk-python.files index 33537433ce..877efadf42 100644 --- a/debian/libwxgtk-python.files +++ b/debian/libwxgtk-python.files @@ -1,4 +1,4 @@ -usr/lib/python1.5/site-packages/wxPython +usr/lib/=PY/site-packages/wxPython usr/lib/libwxPyHelpers*.so usr/lib/libwxPyHelpers*.so.* diff --git a/debian/libwxgtk-python.postinst b/debian/libwxgtk-python.postinst index a1bebf841b..24f80ec2df 100644 --- a/debian/libwxgtk-python.postinst +++ b/debian/libwxgtk-python.postinst @@ -2,11 +2,11 @@ set -e -WXPYTHONDIR="/usr/lib/python1.5/site-packages/wxPython" +WXPYTHONDIR="/usr/lib/=PY/site-packages/wxPython" if [ "$1" = "configure" ]; then - python /usr/lib/python1.5/compileall.py -q ${WXPYTHONDIR} - python -O /usr/lib/python1.5/compileall.py -q ${WXPYTHONDIR} + python /usr/lib/=PY/compileall.py -q ${WXPYTHONDIR} + python -O /usr/lib/=PY/compileall.py -q ${WXPYTHONDIR} ldconfig fi diff --git a/debian/libwxgtk-python.prerm b/debian/libwxgtk-python.prerm index 8417f23f42..03d602c2d3 100644 --- a/debian/libwxgtk-python.prerm +++ b/debian/libwxgtk-python.prerm @@ -2,8 +2,12 @@ set -e -WXPYTHONDIR="/usr/lib/python1.5/site-packages/wxPython" -find ${WXPYTHONDIR} -name "*.py?" -exec rm -f {} \; +PACKAGE="libwxgtk=V-python" + +dpkg --listfiles $PACKAGE | + awk '$0~/\.py$/ {print $0"c\n" $0"o"}' | + xargs rm -f >&2 + #DEBHELPER# diff --git a/debian/rules b/debian/rules index 8f7830e954..0638c8cc93 100755 --- a/debian/rules +++ b/debian/rules @@ -11,6 +11,7 @@ export DH_COMPAT=2 export DH_OPTIONS release:=$(shell dpkg-parsechangelog | sed -n 's/^Source: wxwindows//p') +python_dir:=python$(shell python -c "import sys;print sys.version[:3]") # Packages to build: package_wxbase_lib=libwxbase$(release) @@ -22,6 +23,7 @@ package_gtk_dbg=libwxgtk$(release)-dbg package_gtk_py=libwxgtk$(release)-python package_gtk_contrib=libwxgtk$(release)-contrib package_gtk_contrib_dev=libwxgtk$(release)-contrib-dev +package_gtk_py_contrib=libwxgtk$(release)-python-contrib package_headers=wxwin$(release)-headers package_i18n=wxwin$(release)-i18n package_doc=wxwin$(release)-doc @@ -46,13 +48,14 @@ build_stamps=build-wxbase-shared-stamp build-wxbase-static-stamp \ build-wxbase-debug-stamp build-gtk-shared-stamp \ build-gtk-static-stamp build-gtk-debug-stamp \ build-contrib-shared-stamp build-contrib-static-stamp \ - build-gtk-python-stamp build-examples-stamp build-doc-stamp \ - build-i18n-stamp + build-gtk-py-stamp build-gtk-py-contrib-stamp \ + build-examples-stamp build-doc-stamp build-i18n-stamp install_all=install-wxbase-lib install-wxbase-dev install-wxbase-dbg \ install-gtk-lib install-gtk-dev install-gtk-dbg \ install-gtk-contrib install-gtk-contrib-dev install-gtk-py \ - install-headers install-i18n install-doc install-examples + install-gtk-py-contrib install-headers install-i18n install-doc \ + install-examples wxconfig:=$(shell pwd)/$(objdir_gtk_shared)/wx-config \ --prefix=$(shell pwd) \ @@ -95,7 +98,13 @@ control-files-stamp: debian/control debian/wxwin-doc.doc-base done; @for f in dirs docs files postinst prerm; do \ echo "generating control file $(package_gtk_py).$$f"; \ - cp debian/libwxgtk-python.$$f debian/$(package_gtk_py).$$f; \ + sed -e 's/=PY/$(python_dir)/g;s/=V/$(release)/g' < debian/libwxgtk-python.$$f \ + > debian/$(package_gtk_py).$$f; \ + done; + @for f in dirs files postinst prerm; do \ + echo "generating control file $(package_gtk_py_contrib).$$f"; \ + sed -e 's/=PY/$(python_dir)/g;s/=V/$(release)/g' < debian/libwxgtk-python-contrib.$$f \ + > debian/$(package_gtk_py_contrib).$$f; \ done; @for f in dirs postinst; do \ echo "generating control file $(package_gtk_contrib).$$f"; \ @@ -130,6 +139,7 @@ build-wxbase-shared-stamp: mkdir $(objdir_wxbase_shared) cd $(objdir_wxbase_shared) \ && ../configure --prefix=/usr \ + --cache-file=../config.cache.debian \ --disable-gui \ --enable-burnt_name \ --with-zlib=sys \ @@ -141,6 +151,7 @@ build-wxbase-static-stamp: mkdir $(objdir_wxbase_static) cd $(objdir_wxbase_static) \ && ../configure --prefix=/usr \ + --cache-file=../config.cache.debian \ --disable-gui \ --disable-shared \ --with-zlib=sys \ @@ -152,6 +163,7 @@ build-wxbase-debug-stamp: mkdir $(objdir_wxbase_debug) cd $(objdir_wxbase_debug) \ && ../configure --prefix=/usr \ + --cache-file=../config.cache.debian \ --disable-gui \ --enable-debug \ --enable-burnt_name \ @@ -164,6 +176,7 @@ build-gtk-shared-stamp: mkdir $(objdir_gtk_shared) cd $(objdir_gtk_shared) \ && ../configure --prefix=/usr \ + --cache-file=../config.cache.debian \ --with-gtk \ --with-opengl \ --enable-burnt_name \ @@ -179,6 +192,7 @@ build-gtk-static-stamp: mkdir $(objdir_gtk_static) cd $(objdir_gtk_static) \ && ../configure --prefix=/usr \ + --cache-file=../config.cache.debian \ --with-gtk \ --with-opengl \ --disable-shared \ @@ -194,6 +208,7 @@ build-gtk-debug-stamp: mkdir $(objdir_gtk_debug) cd $(objdir_gtk_debug) \ && ../configure --prefix=/usr \ + --cache-file=../config.cache.debian \ --with-gtk \ --with-opengl \ --enable-debug \ @@ -207,21 +222,33 @@ build-gtk-debug-stamp: build-contrib-shared-stamp: build-gtk-shared-stamp dh_testdir - cd $(objdir_gtk_shared)/contrib/src && $(MAKE) + cd $(objdir_gtk_shared)/contrib/src \ + && $(MAKE) touch $@ build-contrib-static-stamp: build-gtk-static-stamp dh_testdir - cd $(objdir_gtk_static)/contrib/src && $(MAKE) + cd $(objdir_gtk_static)/contrib/src \ + && $(MAKE) touch $@ -build-gtk-python-stamp: build-gtk-shared-stamp +build-gtk-py-stamp: build-gtk-shared-stamp dh_testdir cd wxPython/src \ && touch gtk/*.cpp gtk/*.py \ && ../distrib/build.py -b WXDIR=../.. WXCONFIG='$(wxconfig)' touch $@ +build-gtk-py-contrib-stamp: build-contrib-shared-stamp build-gtk-py-stamp + dh_testdir + cd wxPython/contrib \ + && for d in $$(find -type d -maxdepth 1); do \ + (cd $$d \ + && ln -s ../../../contrib contrib \ + && ../../distrib/build.py -b WXDIR=../../.. WXCONFIG='$(wxconfig)') \ + done; + touch $@ + build-doc-stamp: build-gtk-shared-stamp dh_testdir cd $(objdir_gtk_shared)/utils/tex2rtf/src \ @@ -268,6 +295,10 @@ clean: debian/control dh_testroot rm -rf control-files-stamp $(build_stamps) $(objdirs) -cd wxPython/src && $(MAKE) clean + -cd wxPython/contrib \ + && for d in $$(find -type d -maxdepth 1); do \ + (cd $$d && $(MAKE) clean && rm -f contrib) \ + done; dh_clean rm -f debian/$(package_wxbase_lib).* rm -f debian/$(package_wxbase_dev).* @@ -276,6 +307,7 @@ clean: debian/control rm -f debian/$(package_gtk_dev).* rm -f debian/$(package_gtk_dbg).* rm -f debian/$(package_gtk_py).* + rm -f debian/$(package_gtk_py_contrib).* rm -f debian/$(package_gtk_contrib).* rm -f debian/$(package_gtk_contrib_dev).* rm -f debian/$(package_headers).* @@ -360,18 +392,32 @@ install-gtk-contrib-dev: build-contrib-static-stamp install-gtk-dev rm -f debian/$(package_gtk_contrib_dev)/usr/lib/libwx_gtk*.a install-gtk-py: DH_OPTIONS=-p$(package_gtk_py) -install-gtk-py: build-gtk-python-stamp +install-gtk-py: build-gtk-py-stamp dh_testdir dh_testroot dh_clean -k dh_installdirs cd wxPython/src \ && ../distrib/build.py -i \ - TARGETDIR=../../debian/$(package_gtk_py)/usr/lib/python1.5/site-packages/wxPython \ + TARGETDIR=../../debian/$(package_gtk_py)/usr/lib/$(python_dir)/site-packages/wxPython \ HELPERLIBDIR=../../debian/$(package_gtk_py)/usr/lib \ WXDIR=../.. - rm -rf debian/$(package_gtk_py)/usr/lib/python1.5/site-packages/wxPython/demo - find debian/$(package_gtk_py)/usr/lib/python1.5/site-packages/wxPython \ + rm -rf debian/$(package_gtk_py)/usr/lib/$(python_dir)/site-packages/wxPython/demo + find debian/$(package_gtk_py)/usr/lib/$(python_dir)/site-packages/wxPython \ + -name '*.py?' -exec rm '{}' ';' + +install-gtk-py-contrib: DH_OPTIONS=-p$(package_gtk_py_contrib) +install-gtk-py-contrib: build-gtk-py-contrib-stamp + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + cd wxPython/contrib && for d in $$(find -type d -maxdepth 1); do \ + (cd $$d \ + && ../../distrib/build.py -i \ + TARGETDIR=../../../debian/$(package_gtk_py_contrib)/usr/lib/$(python_dir)/site-packages/wxPython) \ + done; + find debian/$(package_gtk_py_contrib)/usr/lib/$(python_dir)/site-packages/wxPython \ -name '*.py?' -exec rm '{}' ';' install-headers: DH_OPTIONS=-p$(package_headers) @@ -483,5 +529,6 @@ binary-doc: control-files-stamp install-doc binary-wxbase-dbg binary-doc install install-wxbase-lib \ install-wxbase-dev install-wxbase-dbg install-gtk-lib install-gtk-dev \ install-gtk-dbg install-gtk-contrib install-gtk-contrib-dev \ - install-gtk-py install-headers install-i18n install-doc install-examples + install-gtk-py install-gtk-py-contrib install-headers install-i18n \ + install-doc install-examples