1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
#!/usr/bin/make -f
#DH_VERBOSE = 1
# See dpkg-buildflags(1)
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
#export DEB_LDFLAGS_MAINT_APPEND =
# See dpkg-gensymbols(1)
export DPKG_GENSYMBOLS_CHECK_LEVEL = 4
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
# Do not build ibus-tests on (compatibility-only) Ubuntu i386, as some of
# ibus-tests depends are not in the compatibility layer
ifeq ($(shell dpkg-vendor --is Ubuntu && echo yes) $(DEB_HOST_ARCH),yes i386)
skip_packages = -Nibus-tests
endif
DH_FLAGS = --with gir,python3
# Ubuntu language pack support (dh_translations)
ifeq ($(shell dpkg-vendor --is Ubuntu && echo yes),yes)
DH_FLAGS += --with translations
endif
%:
dh $@ $(DH_FLAGS)
CONFIGURE_FLAGS = \
--disable-python2 \
--disable-python-library \
--disable-silent-rules \
--disable-static \
--enable-appindicator \
--enable-emoji-dict \
--enable-gtk2 \
--enable-gtk3 \
--enable-gtk4 \
--enable-introspection \
--enable-surrounding-text \
--enable-xim \
--with-no-snooper-apps='gnome-do,Do.*,firefox.*,.*chrome.*,.*chromium.*,terminator' \
--with-python=/usr/bin/python3 \
--with-ucd-dir='/usr/share/unicode/' \
$(NULL)
ifeq (,$(filter nodoc,$(DEB_BUILD_PROFILES)))
CONFIGURE_FLAGS += --enable-gtk-doc
else
CONFIGURE_FLAGS += --disable-gtk-doc
endif
ifeq (,$(filter noinsttest,$(DEB_BUILD_PROFILES)))
CONFIGURE_FLAGS += --enable-install-tests
else
CONFIGURE_FLAGS += --disable-install-tests
endif
# The --enable-memconf configure flag is not needed on nocheck or noinsttest
# build profile. But these build profiles should not change package contents
# (See https://wiki.debian.org/BuildProfileSpec). So always use this flag.
CONFIGURE_FLAGS += --enable-memconf
ifeq ($(DEB_HOST_ARCH_OS),linux)
CONFIGURE_FLAGS += --enable-wayland --enable-systemd-services
else
CONFIGURE_FLAGS += --disable-wayland --disable-systemd-services
endif
override_dh_auto_configure:
dh_auto_configure -- $(CONFIGURE_FLAGS)
override_dh_auto_install:
dh_auto_install
desktop-file-install --delete-original \
--dir debian/tmp/usr/share/applications \
debian/tmp/usr/share/applications/*
override_dh_auto_build:
# Rebuild upstream shipped Vala-generated files in ui/gtk3, as the shipped
# ui/gtk3/panelbinding.c causes FTBFS with --disable-wayland. No need to
# upstream; the upstream doesn't want Vala to be needed by the default build
# (https://github.com/ibus/ibus/issues/2082).
make -C ui/gtk3 maintainer-clean-generic
dh_auto_build
override_dh_install:
dh_install -X.la -X.pyc -X.pyo -X__pycache__
override_dh_missing:
dh_missing --fail-missing -X.la -X.pyc -X.pyo
override_dh_auto_test:
# NOTE: Do not use debhelper 13 provided $HOME and XDG dirs. The
# provided $XDG_CACHE_HOME is too long so the ibus-daemon socket name
# length easily exceeds the limit (107 bytes in Linux).
mkdir -p -m700 $(CURDIR)/debian/tmp-home/run
env \
GVFS_DISABLE_FUSE=1 \
dbus-run-session -- \
xvfb-run --auto-servernum -- \
dh_auto_test -- \
HOME=$(CURDIR)/debian/tmp-home \
XDG_CACHE_HOME= \
XDG_CONFIG_HOME= \
XDG_DATA_HOME= \
XDG_DATA_DIRS= \
XDG_RUNTIME_DIR=$(CURDIR)/debian/tmp-home/run \
DISABLE_DAEMONIZE_IN_TESTS=1 \
DISABLE_GUI_TESTS="ibus-bus ibus-compose ibus-keypress test-stress"
rm -rf $(CURDIR)/debian/tmp-home
override_dh_builddeb:
dh_builddeb $(skip_packages)
override_dh_gencontrol:
dh_gencontrol $(skip_packages)
|