| #!/usr/bin/make -f |
| |
| include /usr/share/cdbs/1/rules/debhelper.mk |
| include /usr/share/cdbs/1/class/gnome.mk |
| include /usr/share/cdbs/1/rules/utils.mk |
| -include /usr/share/cdbs/1/rules/autoreconf.mk |
| include /usr/share/gnome-pkg-tools/1/rules/clean-la.mk |
| |
| export HOME=$(CURDIR)/fake-home |
| |
| # make autoreconf not call libtoolize since we ship a patch for ltmain.sh |
| export LIBTOOLIZE=true |
| # make autoreconf not call autopoint since we ship a patch for po/Makefile.in.in |
| export AUTOPOINT=true |
| |
| CFLAGS += -Wno-error |
| CXXFLAGS += -Wno-error |
| LDFLAGS += -Wl,-z,defs -Wl,-O1 -Wl,--as-needed |
| DEB_MAKE_CHECK_TARGET = check || true |
| |
| # upstream version with epoch |
| gst_version := $(shell echo $(DEB_VERSION) | cut -d '-' -f 1) |
| gst_major := 1 |
| gst_minor := 0 |
| gst_abi := $(gst_major).$(gst_minor) |
| # gstreamer library package names |
| gst_lib := libgstreamer$(gst_abi)-0 |
| gst_lib_dev := libgstreamer$(gst_abi)-dev |
| # what gstreamer version is needed |
| gst_lib_dev_dep := $(gst_lib_dev) (>= 1.1.2) |
| |
| gst_pkgname := gstreamer$(gst_abi) |
| gst_deb_abi := $(gst_abi)-0 |
| |
| # gst-plugins-base library package names |
| gst_plugins_base_lib := libgstreamer-plugins-base$(gst_deb_abi) |
| gst_plugins_base_lib_dev := libgstreamer-plugins-base$(gst_abi)-dev |
| # gst-plugins-base library shlibs |
| gst_plugins_base_lib_dep := "$(gst_plugins_base_lib) (>= $(gst_version))" |
| |
| gst_extra_build_depends += libasound2-dev (>= 0.9.0) [linux-any] |
| gst_extra_build_depends += , libgudev-1.0-dev (>= 143) [linux-any] |
| |
| # debug package |
| DEB_DH_STRIP_ARGS += --dbg-package=$(gst_pkgname)-plugins-base-dbg |
| |
| DEB_COMPRESS_EXCLUDE = .sgml .devhelp .ps .pdf |
| |
| # disable all CPU specific optimizations in commands launched by this Makefile |
| # using liboil; this is to work around liboil related build failures which |
| # are not specially interesting to catch on buildds as these might run very |
| # specific hardware |
| OIL_CPU_FLAGS := 0 |
| export OIL_CPU_FLAGS |
| |
| # The plugins are basically the same. |
| # Link special names to a template file. |
| # still need "*.install" to be done by hand |
| |
| PLUGINS += plugins-base x |
| ifeq ($(DEB_HOST_ARCH_OS),linux) |
| PLUGINS += alsa |
| endif |
| VERSIONIZE += \ |
| plugins-base-apps.install \ |
| plugins-base-apps.manpages \ |
| plugins-base-doc.install \ |
| |
| ifneq ($(DEB_HOST_ARCH_OS),hurd) |
| cdparanoia := debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/gstreamer-$(gst_abi)/libgstcdparanoia.so |
| endif |
| |
| # Let's decide the package name and url depending on the distribution |
| DISTRO = "$(shell dpkg-vendor --query vendor)" |
| |
| GST_PACKAGE_NAME := "GStreamer Base Plugins (unknown Debian derivative)" |
| GST_PACKAGE_ORIGIN="http://packages.qa.debian.org/gst-plugins-base$(gst_abi)" |
| |
| ifeq ($(DISTRO),"Debian") |
| GST_PACKAGE_NAME := "GStreamer Base Plugins (Debian)" |
| GST_PACKAGE_ORIGIN="http://packages.qa.debian.org/gst-plugins-base$(gst_abi)" |
| endif |
| |
| ifeq ($(DISTRO),"Ubuntu") |
| GST_PACKAGE_NAME := "GStreamer Base Plugins (Ubuntu)" |
| GST_PACKAGE_ORIGIN="https://launchpad.net/distros/ubuntu/+source/gst-plugins-base$(gst_abi)" |
| endif |
| |
| |
| # setup links for packages |
| pre-build:: |
| for p in $(PLUGINS); do \ |
| rm -f debian/$(gst_pkgname)-$$p.install; \ |
| sed \ |
| -e 's/@GST_ABI@/$(gst_abi)/g' \ |
| -e 's,@cdparanoia@,$(cdparanoia),g' \ |
| debian/gstreamer-$$p.install \ |
| >debian/$(gst_pkgname)-$$p.install; \ |
| done |
| for f in $(VERSIONIZE); do \ |
| sed 's/@GST_ABI@/$(gst_abi)/g' debian/gstreamer-$$f \ |
| >debian/$(gst_pkgname)-$$f; \ |
| done |
| rm -f debian/gir1.2-gst-plugins-base-$(gst_abi).install |
| cp debian/gir1.2-gst-plugins-base.install \ |
| debian/gir1.2-gst-plugins-base-$(gst_abi).install |
| rm -f debian/libgstreamer-plugins-base$(gst_deb_abi).install |
| sed 's/@GST_ABI@/$(gst_abi)/g' \ |
| debian/libgstreamer-plugins-base.install \ |
| >debian/libgstreamer-plugins-base$(gst_deb_abi).install |
| rm -f debian/libgstreamer-plugins-base$(gst_deb_abi).symbols |
| cp debian/libgstreamer-plugins-base.symbols \ |
| debian/libgstreamer-plugins-base$(gst_deb_abi).symbols |
| rm -f debian/libgstreamer-plugins-base$(gst_abi)-dev.install |
| sed 's/@GST_ABI@/$(gst_abi)/g' \ |
| debian/libgstreamer-plugins-base-dev.install \ |
| >debian/libgstreamer-plugins-base$(gst_abi)-dev.install |
| |
| maint: debian/control |
| |
| debian/build-deps: debian/build-deps.in debian/rules |
| cat $< >$@ |
| |
| debian/control:: debian/control.in debian/build-deps debian/mk.control debian/rules debian/changelog force |
| perl debian/mk.control | sed \ |
| -e 's/@GST_VERSION@/$(gst_version)/g' \ |
| -e 's/@GST_ABI@/$(gst_abi)/g' \ |
| -e 's/@GST_PKGNAME@/$(gst_pkgname)/g' \ |
| -e 's/@GST_LIB@/$(gst_lib)/g' \ |
| -e 's/@GST_LIB_DEV@/$(gst_lib_dev)/g' \ |
| -e 's/@GST_LIB_DEV_DEP@/$(gst_lib_dev_dep)/g' \ |
| -e 's/@GST_PLUGINS_BASE_LIB@/$(gst_plugins_base_lib)/g' \ |
| -e 's/@GST_PLUGINS_BASE_LIB_DEV@/$(gst_plugins_base_lib_dev)/g' \ |
| -e 's/@GST_EXTRA_BUILD_DEPENDS@/$(gst_extra_build_depends)/g' \ |
| >$@ |
| |
| DEB_CONFIGURE_EXTRA_FLAGS += \ |
| --disable-failing-tests \ |
| --disable-examples \ |
| --enable-DEBUG \ |
| --enable-debug \ |
| --enable-experimental \ |
| --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \ |
| --with-package-name=$(GST_PACKAGE_NAME) \ |
| --with-package-origin=$(GST_PACKAGE_ORIGIN) \ |
| --with-install-plugins-helper="/usr/bin/gstreamer-codec-install" |
| |
| # only build the docs if gtk-doc-tools is installed, i.e. binary-indep is called |
| ifeq ($(shell test "`dpkg -l gtk-doc-tools | grep ^ii`" && echo binary-indep),binary-indep) |
| DEB_CONFIGURE_EXTRA_FLAGS += --enable-gtk-doc |
| endif |
| |
| clean:: |
| # get rid of the symlinks |
| for i in $(PLUGINS); do \ |
| rm -f debian/$(gst_pkgname)-$$i.install; \ |
| rm -f debian/$(gst_pkgname)-$$i.preinst; \ |
| done |
| for f in $(VERSIONIZE); do \ |
| rm -f debian/$(gst_pkgname)-$$f; \ |
| done |
| rm -f debian/gir1.2-gst-plugins-base-$(gst_abi).install |
| rm -f debian/libgstreamer-plugins-base$(gst_deb_abi).install |
| rm -f debian/libgstreamer-plugins-base$(gst_deb_abi).symbols |
| rm -f debian/libgstreamer-plugins-base$(gst_abi)-dev.install |
| -rm -rf $(CURDIR)/fake-home |
| |
| binary-post-install/$(gst_pkgname)-plugins-base-apps:: |
| dh_perl -d |
| |
| DEB_DH_MAKESHLIBS_ARGS_$(gst_plugins_base_lib) += -X "/usr/lib/$(DEB_HOST_MULTIARCH)/gstreamer-$(gst_abi)" -V $(gst_plugins_base_lib_dep) -- -c4 |
| DEB_INSTALL_DOCS_ALL += debian/README.Debian NEWS |
| DEB_SHLIBDEPS_INCLUDE += debian/libgstreamer-plugins-base$(gst_deb_abi)/usr/lib/$(DEB_HOST_MULTIARCH) |
| # Disable inclusion of large upstream ChangeLog |
| DEB_INSTALL_CHANGELOGS_ALL := |
| |
| # override shlibs for libraries from this source before computing dependencies |
| # of packages generated from this source; we already have inter-dependencies |
| # expressed manually in the control file, we do not need the shlibs to add |
| # duplicates |
| # (this rule runs just before the dh_shlibdeps) |
| common-binary-fixup-arch:: |
| mkdir -p $(CURDIR)/fake-home |
| HOME=$(CURDIR)/fake-home \ |
| LD_LIBRARY_PATH=debian/libgstreamer-plugins-base$(gst_deb_abi)/usr/lib/$(DEB_HOST_MULTIARCH):$(LD_LIBRARY_PATH) \ |
| dh_gstscancodecs |
| HOME=$(CURDIR)/fake-home \ |
| dh_girepository -pgir1.2-gst-plugins-base-$(gst_abi) |
| -rm -f debian/shlibs.local |
| rm -rf $(CURDIR)/fake-home |
| sed -n -r -e 's/(([^ ]+: )?([^ ]+) ([^ ]+)) .*/\1/p' \ |
| debian/*/DEBIAN/shlibs \ |
| >debian/shlibs.local |
| |
| # (this rules runs just after the dh_shlibdeps) |
| common-binary-predeb-arch:: |
| -rm -f debian/shlibs.local |
| |
| force: |
| |
| .PHONY: maint force |