summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Shachnev <mitya57@gmail.com>2017-08-26 10:52:09 +0300
committerDmitry Shachnev <mitya57@gmail.com>2017-08-26 10:52:09 +0300
commit295635f68b6e2f487f2fef65e131716ff37b0b3d (patch)
treefe07b841ad0933c58a3f16b86d2b30c6b9f6561b
parent63c515fd80101f8c969444216b8eab19e0e1f92f (diff)
downloadqt5webkit-295635f68b6e2f487f2fef65e131716ff37b0b3d.tar.gz
Update debian/rules to use CMake build system.
-rw-r--r--debian/changelog1
-rw-r--r--debian/control1
-rwxr-xr-xdebian/rules66
3 files changed, 14 insertions, 54 deletions
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 <debian-qt-kde@lists.debian.org> 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 <timo@debian.org>,
Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>,
Dmitry Shachnev <mitya57@debian.org>
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