From 295635f68b6e2f487f2fef65e131716ff37b0b3d Mon Sep 17 00:00:00 2001 From: Dmitry Shachnev Date: Sat, 26 Aug 2017 10:52:09 +0300 Subject: Update debian/rules to use CMake build system. --- debian/changelog | 1 + debian/control | 1 - debian/rules | 66 +++++++++++--------------------------------------------- 3 files changed, 14 insertions(+), 54 deletions(-) (limited to 'debian') diff --git a/debian/changelog b/debian/changelog index f33c1b0..eebf393 100644 --- a/debian/changelog +++ b/debian/changelog @@ -11,6 +11,7 @@ qtwebkit-opensource-src (5.212.0~alpha2-1) UNRELEASED; urgency=medium * Drop unused build-dependency: libleveldb-dev. * Migrate to automatic dbgsym packages. * Update install files for the new release. + * Update debian/rules to use CMake build system. -- Debian Qt/KDE Maintainers Fri, 25 Aug 2017 20:50:49 +0300 diff --git a/debian/control b/debian/control index 807f860..fef39e1 100644 --- a/debian/control +++ b/debian/control @@ -5,7 +5,6 @@ Uploaders: Timo Jyrinki , Lisandro Damián Nicanor Pérez Meyer , Dmitry Shachnev Build-Depends: bison, - chrpath, cmake (>= 2.8.12), debhelper (>= 9.20160114~), flex, diff --git a/debian/rules b/debian/rules index 1475588..5ebdce1 100755 --- a/debian/rules +++ b/debian/rules @@ -3,12 +3,7 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 -export CFLAGS := $(shell dpkg-buildflags --get CFLAGS) $(shell dpkg-buildflags --get CPPFLAGS) -export CXXFLAGS := $(shell dpkg-buildflags --get CXXFLAGS) $(shell dpkg-buildflags --get CPPFLAGS) -export LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS) -Wl,--as-needed -export QT_SELECT := qt5 - -DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) +DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) gstab_architectures := amd64 i386 powerpc s390x @@ -16,67 +11,32 @@ fulldebug_architectures := none disabled_jit_architectures := armel mips mipsel disabled_pch_architectures := amd64 powerpc s390x -%: - dh $@ --parallel --with pkgkde_symbolshelper - -override_dh_auto_configure: - # Run qmake once to create .qmake.conf and be sure to append the following values. - qmake - -# Enable gstabs debugging symbols only on gstab_architectures. -ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH), $(gstab_architectures))) - echo "QMAKE_CXXFLAGS -= -g" >> .qmake.conf - echo "QMAKE_CXXFLAGS += -gstabs" >> .qmake.conf -# Enable normal debugging symbols only on fulldebug_architectures. -else ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH), $(fulldebug_architectures))) - echo "QMAKE_CXXFLAGS += -g" >> .qmake.conf -else -# Disable debugging symbols in all the other archs. - echo "QMAKE_CXXFLAGS -= -g" >> .qmake.conf - echo "QMAKE_CXXFLAGS -= -gstabs" >> .qmake.conf +# JIT is only supported on x86 / armhf / aarch64 / mips32 +ifeq (,$(filter $(DEB_HOST_ARCH_CPU),amd64 arm64 armhf i386 mips mipsel sh4)) + EXTRA_CMAKE_ARGUMENTS += -DENABLE_JIT=OFF endif -# Disable JIT on selected architectures -ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH), $(disabled_jit_architectures))) - echo "QMAKE_CXXFLAGS += -DENABLE_JIT=0" >> .qmake.conf +# Copied from Fedora; see also https://github.com/annulen/webkit/issues/480 +ifneq (,$(filter $(DEB_HOST_ARCH_CPU),ppc64el s390x)) + EXTRA_CMAKE_ARGUMENTS += -DUSE_SYSTEM_MALLOC=ON endif -# Disable header precompliation as it creates invalid includes on certain -# architectures causing build failure. LP: 1395661 -ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH), $(disabled_pch_architectures))) - echo "CONFIG -= precompile_header" >> .qmake.conf -endif - - # This warning makes the build logs 500 MB large - echo "QMAKE_CXXFLAGS += -Wno-expansion-to-defined" >> .qmake.conf +%: + dh $@ --buildsystem=cmake --parallel --with pkgkde_symbolshelper - # Run qmake again now with the proper values. - qmake +override_dh_auto_configure: + dh_auto_configure -- -DPORT=Qt $(EXTRA_CMAKE_ARGUMENTS) override_dh_auto_build-indep: dh_auto_build -- sub-Source-QtWebKit-pro-clean dh_auto_build -- -CSource -fMakefile.api docs override_dh_auto_install-arch: - make install INSTALL_ROOT=$(CURDIR)/debian/tmp - - # Remove rpath from the offending binaries - chrpath -d $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/qt5/libexec/QtWebProcess - chrpath -d $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/qt5/libexec/QtWebPluginProcess - - # Fix wrong path in pkgconfig files - find $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig -type f -name '*.pc' \ - -exec sed -i -e 's/$(DEB_HOST_MULTIARCH)\/$(DEB_HOST_MULTIARCH)/$(DEB_HOST_MULTIARCH)/g' {} \; - + dh_auto_install + # Remove private headers rm -rf debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)/qt5/QtWebKit/*/QtWebKit rm -rf debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)/qt5/QtWebKitWidgets/*/QtWebKitWidgets - # And associated files - rm -fv debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/qt5/mkspecs/modules/qt_lib_webkit_private.pri - rm -fv debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/qt5/mkspecs/modules/qt_lib_webkitwidgets_private.pri - - # Remove libtool-like files - rm -f debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/*.la override_dh_auto_install-indep: dh_auto_build -- -CSource -fMakefile.api INSTALL_ROOT=$(CURDIR)/debian/tmp install_docs -- cgit v1.2.3