X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9103d280f902cfafdd11a7be3f2d04afaec00e5c..9c112555198f51fcec71106530cddba95a17f3dc:/debian/rules?ds=sidebyside diff --git a/debian/rules b/debian/rules index b6a1acf55b..316d17626c 100755 --- a/debian/rules +++ b/debian/rules @@ -38,8 +38,12 @@ endif # to correctly set the release below. DEBIAN_WXFLAVOUR := $(shell pwd | sed -e 's@.*/wxwidgets[0-9.]\+-\?\(.*\)-[0-9.]\+-\?.*@\1@') -release := $(shell dpkg-parsechangelog | sed -n 's/^Source: wxwidgets//p') +release := $(shell dpkg-parsechangelog | sed -n 's/^Source: wxwidgets//p') +soversion := $(shell grep '^WX_CURRENT=' configure.in | sed 's/WX_CURRENT=\([0-9]\+\).*/\1/') +sorelease := $(release:%-$(DEBIAN_WXFLAVOUR)=%).$(soversion)$(addprefix -,$(DEBIAN_WXFLAVOUR)) +pydir := usr/lib/$(python_ver)/site-packages +wxpydir := $(pydir)/wx-$(sorelease)-gtk2-unicode cross_host = i586-mingw32msvc cross_build = $(shell ./config.guess) @@ -48,23 +52,24 @@ config_cache = ../config_deb.cache config_cache_cross = ../config_deb_cross.cache # Packages to build: -package_gtk_lib = libwxgtk$(release) +package_gtk_lib = libwxgtk$(sorelease) package_gtk_dev = libwxgtk$(release)-dev package_gtk_dbg = libwxgtk$(release)-dbg -package_gtk_py = libwxgtk$(release)-python +package_gtk_py_lib = libwxgtk$(sorelease)-python +package_gtk_py = wxpython$(sorelease) +package_common = wx$(release)-common package_headers = wx$(release)-headers package_i18n = wx$(release)-i18n package_doc = wx$(release)-doc package_examples = wx$(release)-examples -package_gtk_dbg_py = libwxgtk$(release)-dbg-python +package_gtk_dbg_py = libwxgtk$(sorelease)-dbg-python package_msw_dev = libwxmsw$(release)-dev package_msw_dbg = libwxmsw$(release)-dbg package_headers_msw = wx$(release)-headers-msw # Build directories: objdir_gtk_shared = objs_gtk_sh -objdir_gtk_static = objs_gtk_st objdir_gtk_debug = objs_gtk_d objdir_gtk_install = objs_gtk_install objdir_doc_cruft = objs_doc_con @@ -75,11 +80,12 @@ objdir_i18n = locale objdir_msw_shared = objs_msw_sh objdir_msw_static = objs_msw_st objdir_msw_dbg = objs_msw_d +objdir_msw_install = objs_msw_install -objdirs = $(objdir_gtk_shared) $(objdir_gtk_static) $(objdir_gtk_debug) \ - $(objdir_gtk_install) \ +objdirs = $(objdir_gtk_shared) $(objdir_gtk_debug) $(objdir_gtk_install) \ $(objdir_doc_cruft) $(objdir_doc) $(objdir_examples) \ - $(objdir_msw_shared) $(objdir_msw_static) $(objdir_msw_dbg) + $(objdir_msw_shared) $(objdir_msw_static) $(objdir_msw_dbg) \ + $(objdir_msw_install) # note that the i18n package is actually arch indep (once built) # but must be built (and installed) during the arch any phase as @@ -88,7 +94,6 @@ objdirs = $(objdir_gtk_shared) $(objdir_gtk_static) $(objdir_gtk_debug) \ # Build stamps: build_arch_stamps = build-gtk-shared-stamp build-gtk-shared-contrib-stamp \ - build-gtk-static-stamp build-gtk-static-contrib-stamp \ build-gtk-debug-stamp build-gtk-debug-contrib-stamp \ build-i18n-stamp build-gtk-py-stamp @@ -104,7 +109,8 @@ build_stamps = $(build_stamps_native) $(build_cross_stamps) # Install targets: install_all_arch = install-gtk-lib install-gtk-dev install-gtk-dbg \ - install-headers install-i18n install-gtk-py + install-common install-headers install-i18n \ + install-gtk-py install_all_indep = install-examples install-doc @@ -115,8 +121,8 @@ install_all_native = $(install_all_arch) $(install_all_indep) install_all = $(install_all_native) $(install_all_cross) -wxconfig := $(shell pwd)/$(objdir_gtk_shared)/wx-config -wxconfig-dbg := $(shell pwd)/$(objdir_gtk_debug)/wx-config +wxconfig := $(shell pwd)/$(objdir_gtk_shared)/wx-config --no_rpath +wxconfig-dbg := $(shell pwd)/$(objdir_gtk_debug)/wx-config --no_rpath #contrib_libs := $(subst CVS,,$(notdir $(wildcard contrib/include/wx/*))) @@ -127,11 +133,11 @@ debian/python-version: echo python_ver := python$(shell python -c "import sys;print sys.version[:3]") > $@ debian/control: $(addprefix debian/,control.in python-version) - sed -e 's/=V/$(release)/g;s/=PY/$(python_ver)/g' < debian/control.in > debian/control + sed -e 's/=V/$(release)/g;s/=SOV/$(sorelease)/g;s/=PY/$(python_ver)/g' \ + < debian/control.in > debian/control control-files-stamp: debian/control dh_testdir - # FIXME: we clipped menu out of this one, clean up the rest of that. @for f in postinst prerm; do \ echo "generating control file $(package_gtk_dev).$$f"; \ sed -e 's/=V/$(release)/g' < debian/libwxgtk-dev.$$f \ @@ -142,12 +148,27 @@ control-files-stamp: debian/control sed -e 's/=V/$(release)/g' < debian/libwxgtk-dbg.$$f \ > debian/$(package_gtk_dbg).$$f; \ done; - @for f in dirs docs menu postinst prerm; do \ - echo "generating control file $(package_gtk_py).$$f"; \ - sed -e 's/=PY/$(python_ver)/g;s/=V/$(release)/g' \ + @for f in docs postinst prerm; do \ + echo "generating control file $(package_gtk_py_lib).$$f"; \ + sed -e 's/=PY/$(python_ver)/g; \ + s|=WXPYDIR|$(wxpydir)|g; \ + s/=V/$(release)/g; \ + s/=SOV/$(sorelease)/g' \ < debian/libwxgtk-python.$$f \ - > debian/$(package_gtk_py).$$f; \ + > debian/$(package_gtk_py_lib).$$f; \ done; + @echo "generating control file $(package_gtk_py).menu"; \ + sed -e 's/=SOV/$(sorelease)/g' < debian/wxpython.menu \ + > debian/$(package_gtk_py).menu; + @for f in docs postinst; do \ + echo "generating control file $(package_gtk_dbg_py).$$f"; \ + sed -e 's/=PY/$(python_ver)/g;s/=V/$(release)/g;s/=SOV/$(sorelease)/g' \ + < debian/libwxgtk-python.$$f \ + > debian/$(package_gtk_dbg_py).$$f; \ + done; + @echo "generating control file $(package_gtk_dbg_py).prerm"; \ + sed 's/=SOV/$(sorelease)/g' < debian/libwxgtk-dbg-python.prerm \ + > debian/$(package_gtk_dbg_py).prerm @for f in docs doc-base; do \ echo "generating control file $(package_doc).$$f"; \ sed -e 's/=V/$(release)/g' < debian/wx-doc.$$f \ @@ -157,18 +178,6 @@ control-files-stamp: debian/control echo "generating control file $(package_examples).$$f"; \ cp debian/wx-examples.$$f debian/$(package_examples).$$f; \ done; - @for f in dirs docs postinst; do \ - echo "generating control file $(package_gtk_dbg_py).$$f"; \ - sed -e 's/=PY/$(python_ver)/g;s/=V/$(release)/g' \ - < debian/libwxgtk-python.$$f \ - > debian/$(package_gtk_dbg_py).$$f; \ - done; - @for f in menu prerm; do \ - echo "generating control file $(package_gtk_dbg_py).$$f"; \ - sed -e 's/=PY/$(python_ver)/g;s/=V/$(release)/g' \ - < debian/libwxgtk-dbg-python.$$f \ - > debian/$(package_gtk_dbg_py).$$f; \ - done; @for f in postinst prerm; do \ echo "generating control file $(package_msw_dev).$$f"; \ sed -e 's/=V/$(release)/g;s/=H/$(cross_host)/g' < debian/libwxmsw-dev.$$f \ @@ -179,6 +188,9 @@ control-files-stamp: debian/control sed -e 's/=V/$(release)/g;s/=H/$(cross_host)/g' < debian/libwxmsw-dbg.$$f \ > debian/$(package_msw_dbg).$$f; \ done; +# @echo "generating control file $(package_common).menu"; \ +# sed -e 's/=V/$(release)/g' < debian/wx-common.menu \ +# > debian/$(package_common).menu; @echo "generating control file lintian-override"; \ sed -e 's/=V/$(release)/g' < debian/lintian-override.in \ > debian/lintian-override; \ @@ -204,15 +216,10 @@ configure-gtk-shared-stamp: --cache-file=$(config_cache) \ --with-flavour=$(DEBIAN_WXFLAVOUR) \ --with-gtk \ - --enable-gtk2 \ - --enable-unicode \ - --with-opengl \ --with-zlib=sys \ --with-libjpeg=sys \ --with-libpng=sys \ - --with-libtiff=sys \ - --enable-dynamic-loader \ - --enable-std_iostreams + --with-libtiff=sys touch $@ build-gtk-shared-stamp: configure-gtk-shared-stamp @@ -220,30 +227,6 @@ build-gtk-shared-stamp: configure-gtk-shared-stamp cd $(objdir_gtk_shared) && $(FAST_MAKE) touch $@ -configure-gtk-static-stamp: - dh_testdir - mkdir -p $(objdir_gtk_static) - cd $(objdir_gtk_static) \ - && ../configure --prefix=/usr \ - --cache-file=$(config_cache) \ - --with-flavour=$(DEBIAN_WXFLAVOUR) \ - --with-gtk \ - --enable-gtk2 \ - --enable-unicode \ - --with-opengl \ - --disable-shared \ - --with-zlib=sys \ - --with-libjpeg=sys \ - --with-libpng=sys \ - --with-libtiff=sys \ - --enable-dynamic-loader \ - --enable-std_iostreams - touch $@ - -build-gtk-static-stamp: configure-gtk-static-stamp - dh_testdir - cd $(objdir_gtk_static) && $(FAST_MAKE) - touch $@ configure-gtk-debug-stamp: dh_testdir @@ -253,16 +236,11 @@ configure-gtk-debug-stamp: --cache-file=$(config_cache) \ --with-flavour=$(DEBIAN_WXFLAVOUR) \ --with-gtk \ - --enable-gtk2 \ - --enable-unicode \ - --with-opengl \ --enable-debug \ --with-zlib=sys \ --with-libjpeg=sys \ --with-libpng=sys \ - --with-libtiff=sys \ - --enable-dynamic-loader \ - --enable-std_iostreams + --with-libtiff=sys touch $@ build-gtk-debug-stamp: configure-gtk-debug-stamp @@ -274,14 +252,10 @@ build-gtk-debug-stamp: configure-gtk-debug-stamp build-gtk-shared-contrib-stamp: build-gtk-shared-stamp dh_testdir cd $(objdir_gtk_shared)/contrib/src && $(FAST_MAKE) - cd $(objdir_gtk_shared)/contrib/utils/wxrc && $(FAST_MAKE) - cd $(objdir_gtk_shared)/contrib/utils/wxrcedit && $(FAST_MAKE) + cd $(objdir_gtk_shared)/utils/wxrc && $(FAST_MAKE) + #cd $(objdir_gtk_shared)/contrib/utils/wxrcedit && $(FAST_MAKE) touch $@ -build-gtk-static-contrib-stamp: build-gtk-static-stamp - dh_testdir - cd $(objdir_gtk_static)/contrib/src && $(FAST_MAKE) - touch $@ build-gtk-debug-contrib-stamp: build-gtk-debug-stamp dh_testdir @@ -302,7 +276,8 @@ build-gtk-py-stamp: build-gtk-shared-stamp purge-dbg-py && $(python_ver) ./setup.py build \ WX_CONFIG='$(wxconfig)' \ WXPORT=gtk2 \ - UNICODE=1 + UNICODE=1 \ + FLAVOUR=$(DEBIAN_WXFLAVOUR) touch $@ build-doc-stamp: build-gtk-shared-stamp @@ -320,8 +295,7 @@ build-doc-stamp: build-gtk-shared-stamp -twice -html cp docs/latex/wx/*.gif $(objdir_doc) rm -rf $(objdir_doc_cruft) - rm -f $(objdir_doc)/wxwin.con $(objdir_doc)/wxwin.hh* \ - $(objdir_doc)/wxwin.htx $(objdir_doc)/wxwin.ref + rm -f $(objdir_doc)/wx$(release)-manual.{con,hh*,htx,ref} touch $@ build-examples-stamp: build-gtk-shared-stamp @@ -366,10 +340,11 @@ build-gtk-dbg-py-stamp: build-gtk-debug-stamp purge-release-py dh_testdir touch docs/lgpl.txt cd wxPython \ - && $(python_ver) ./setup.py build \ - WX_CONFIG='$(wxconfig-dbg)' \ - WXPORT=gtk2 \ - UNICODE=1 + && $(python_ver) ./setup.py build \ + WX_CONFIG='$(wxconfig-dbg)' \ + WXPORT=gtk2 \ + UNICODE=1 \ + FLAVOUR=$(addsuffix -,$(DEBIAN_WXFLAVOUR))dbg touch $@ @@ -425,11 +400,7 @@ build-msw-dbg-stamp: configure-msw-dbg-stamp clean-py: - cd wxPython \ - && rm -rf licence \ - && rm -rf build* \ - && rm -rf docs/xml-raw \ - && rm -rf wx/*.py + cd wxPython && rm -rf licence build* docs/xml-raw wx/*.py # What to do about src/__version__.py ??? @@ -450,7 +421,9 @@ clean: debian/control clean-py rm -f debian/$(package_gtk_lib).* rm -f debian/$(package_gtk_dev).* rm -f debian/$(package_gtk_dbg).* + rm -f debian/$(package_gtk_py_lib).* rm -f debian/$(package_gtk_py).* + rm -f debian/$(package_common).* rm -f debian/$(package_headers).* rm -f debian/$(package_i18n).* rm -f debian/$(package_doc).* @@ -480,12 +453,9 @@ install-gtk-lib: install-gtk-shared-stamp dh_clean -k dh_installdirs dh_install $(objdir_gtk_install)/lib/libwx_*.so.* usr/lib - dh_install $(objdir_gtk_install)/share/wx usr/share - -# FIXME: /share/wx may eventually need to go in a common runtime package. install-gtk-dev: DH_OPTIONS=-p$(package_gtk_dev) -install-gtk-dev: build-gtk-static-stamp build-gtk-static-contrib-stamp install-gtk-shared-stamp +install-gtk-dev: install-gtk-shared-stamp dh_testdir dh_testroot dh_clean -k @@ -493,19 +463,6 @@ install-gtk-dev: build-gtk-static-stamp build-gtk-static-contrib-stamp install-g dh_install $(objdir_gtk_install)/lib/libwx_*.so usr/lib dh_install $(objdir_gtk_install)/lib/wx/include usr/lib/wx dh_install $(objdir_gtk_install)/lib/wx/config/gtk* usr/lib/wx/config - dh_install $(objdir_gtk_static)/lib/libwx*.a usr/lib - dh_install $(objdir_gtk_static)/lib/wx/include usr/lib/wx - dh_install $(objdir_gtk_static)/lib/wx/config/gtk* usr/lib/wx/config - - # FIXME: What to do about these for multi-version installs? Probably - # put them in a bin package that conflicts. - # - #dh_install $(objdir_gtk_shared)/contrib/utils/wxrc/wxrc usr/bin - #dh_install $(objdir_gtk_shared)/contrib/utils/wxrcedit/wxrcedit usr/bin - - #dh_installman debian/wxrc-tools.1 - #dh_link usr/share/man/man1/wxrc-tools.1 usr/share/man/man1/wxrc.1 \ - # usr/share/man/man1/wxrc-tools.1 usr/share/man/man1/wxrcedit.1 install-gtk-dbg: DH_OPTIONS=-p$(package_gtk_dbg) install-gtk-dbg: build-gtk-debug-stamp build-gtk-debug-contrib-stamp @@ -519,21 +476,36 @@ install-gtk-dbg: build-gtk-debug-stamp build-gtk-debug-contrib-stamp cp debian/lintian-override debian/$(package_gtk_dbg)/usr/share/lintian/overrides/$(package_gtk_dbg) -install-gtk-py: DH_OPTIONS=-p$(package_gtk_py) -install-gtk-py: build-gtk-py-stamp +install-gtk-py-lib: DH_OPTIONS=-p$(package_gtk_py_lib) +install-gtk-py-lib: build-gtk-py-stamp dh_testdir dh_testroot dh_clean -k dh_installdirs cd wxPython \ && $(python_ver) ./setup.py install \ - --prefix=`pwd`/../debian/$(package_gtk_py)/usr \ + --prefix=`pwd`/../debian/$(package_gtk_py_lib)/usr \ WX_CONFIG='$(wxconfig)' \ WXPORT=gtk2 \ - UNICODE=1 + UNICODE=1 \ + FLAVOUR=$(DEBIAN_WXFLAVOUR) - find debian/$(package_gtk_py)/usr/lib/$(python_ver)/site-packages \ - -name '*.py?' -exec rm '{}' ';' + find debian/$(package_gtk_py_lib)/$(pydir) -name '*.py?' -exec rm '{}' ';' + + # This is rather bogus, its included in the main copyright file now though. + rm -f debian/$(package_gtk_py_lib)/$(wxpydir)/wx/tools/XRCed/license.txt + +install-gtk-py: DH_OPTIONS=-p$(package_gtk_py) +install-gtk-py: install-gtk-py-lib + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + dh_movefiles --sourcedir=debian/$(package_gtk_py_lib) \ + usr/bin \ + $(pydir)/{wxversion.py,wx.pth} + rm -r debian/$(package_gtk_py_lib)/usr/bin dh_installman debian/wxPython-tools.1 dh_link usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/img2py.1 \ @@ -545,10 +517,27 @@ install-gtk-py: build-gtk-py-stamp usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/helpviewer.1 \ usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pyalacarte.1 \ usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pyalamode.1 \ - usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pywrap.1 + usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pywrap.1 \ + usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pywxrc.1 + + +install-common: DH_OPTIONS=-p$(package_common) +install-common: install-gtk-shared-stamp + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + dh_install $(objdir_gtk_install)/share/aclocal usr/share + dh_installman debian/wx-config.1 + + dh_install $(objdir_gtk_shared)/utils/wxrc/wxrc usr/bin +# dh_install $(objdir_gtk_shared)/contrib/utils/wxrcedit/wxrcedit usr/bin + + dh_installman debian/wxrc-tools.1 + dh_link usr/share/man/man1/wxrc-tools.1 usr/share/man/man1/wxrc.1 +# dh_link usr/share/man/man1/wxrc-tools.1 usr/share/man/man1/wxrcedit.1 - # This is rather bogus, its included in the main copyright file now though. - rm -f debian/$(package_gtk_py)/usr/lib/$(python_ver)/site-packages/wx/tools/XRCed/license.txt install-headers: DH_OPTIONS=-p$(package_headers) install-headers: install-gtk-shared-stamp @@ -567,10 +556,6 @@ install-headers: install-gtk-shared-stamp # dh_movefiles --sourcedir=$(objdir_univ_install) dh_install $(objdir_gtk_install)/include usr - # FIXME: put these in a common package that can conflict. - #dh_install $(objdir_gtk_install)/share/aclocal usr/share - #dh_installman debian/wx-config.1 - install-i18n: DH_OPTIONS=-p$(package_i18n) install-i18n: build-i18n-stamp install-gtk-shared-stamp dh_testdir @@ -604,25 +589,14 @@ install-gtk-dbg-py: build-gtk-dbg-py-stamp --prefix=`pwd`/../debian/$(package_gtk_dbg_py)/usr \ WX_CONFIG='$(wxconfig-dbg)' \ WXPORT=gtk2 \ - UNICODE=1 + UNICODE=1 \ + FLAVOUR=$(addsuffix -,$(DEBIAN_WXFLAVOUR))dbg - find debian/$(package_gtk_dbg_py)/usr/lib/$(python_ver)/site-packages \ - -name '*.py?' -exec rm '{}' ';' - - dh_installman debian/wxPython-tools.1 - dh_link usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/img2py.1 \ - usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/img2xpm.1 \ - usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/img2png.1 \ - usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pycrust.1 \ - usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pyshell.1 \ - usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/xrced.1 \ - usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/helpviewer.1 \ - usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pyalacarte.1 \ - usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pyalamode.1 \ - usr/share/man/man1/wxPython-tools.1 usr/share/man/man1/pywrap.1 + find debian/$(package_gtk_dbg_py)/$(pydir) -name '*.py?' -exec rm '{}' ';' + rm -rf usr/bin $(pydir)/{wxversion.py,wx.pth} # This is rather bogus, its included in the main copyright file now though. - rm -f debian/$(package_gtk_dbg_py)/usr/lib/$(python_ver)/site-packages/wxPython/tools/XRCed/license.txt + rm -f debian/$(package_gtk_dbg_py)/$(wxpydir)/wx/tools/XRCed/license.txt install-msw-dev: DH_OPTIONS=-p$(package_msw_dev) @@ -675,23 +649,21 @@ install-headers-msw: dh_testroot dh_clean -k - # FIXME: This installs too much now. Do a dummy install first then - # then determine the links from there instead of the main - # tree. Or grab the list out of the main package install, - # but that presupposed we already built it which we may not. + cd $(objdir_msw_shared) \ + && $(MAKE) install prefix=`pwd`/../$(objdir_msw_install) - @# Symlink all the headers that will be installed by the main -headers - @# package to where the cross compiler will expect them. - @( for f in `ls -1 include/wx`; do \ +# Symlink all the headers that will be installed by the main -headers +# package to where the cross compiler will expect them. + @( for f in `ls -1 $(objdir_msw_install)/include/wx-$(release)/wx`; do \ all_h="$${all_h} usr/include/wx-$(release)/wx/$$f usr/$(cross_host)/include/wx-$(release)/wx/$$f"; \ echo "linking header /usr/include/wx-$(release)/wx/$$f"; \ done; \ dh_link $${all_h}; \ ) - @# But install this lot for real. +# But install this lot for real. rm -f debian/$(package_headers_msw)/usr/$(cross_host)/include/wx-$(release)/wx/msw - dh_install include/wx/msw usr/$(cross_host)/include/wx-$(release)/wx + dh_install $(objdir_msw_install)/include/wx-$(release)/wx/msw usr/$(cross_host)/include/wx-$(release)/wx binary-common: @@ -792,7 +764,7 @@ binary-fast:control-files-stamp install-gtk-dbg install-msw-dev install-headers binary-gtk binary-gtk-dev binary-gtk-dbg binary-doc binary-cross \ install install_arch install-gtk-lib install-gtk-dev \ install-gtk-dbg \ - install-gtk-py install-gtk-dbg-py \ - install-headers install-i18n install-doc install-examples \ - install-msw-dev install-msw-dbg install-headers-msw + install-gtk-py install-gtk-py-lib install-gtk-dbg-py \ + install-common install-headers install-i18n install-doc \ + install-examples install-msw-dev install-msw-dbg install-headers-msw