aboutsummaryrefslogtreecommitdiffhomepage
path: root/debian/rules
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2021-06-01 00:36:58 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2021-06-01 00:36:58 +0200
commit0dcfb82c706585d1ed5bd700a88cc9ddc6a8751d (patch)
treef55e25a2f81f8c86dfa214d395c2fa60f852fb78 /debian/rules
parentd0c8cb91b089e735fb288cf0fd44afb20e08a89c (diff)
downloadsciteco-0dcfb82c706585d1ed5bd700a88cc9ddc6a8751d.tar.gz
debianized the Gtk UI (sciteco-gtk)
* Added a Freedesktop file - only as part of the debian package yet. `make install` won't install a Desktop file since it would have to be generated. * Just like when installing manually, you can have a Curses and Gtk installation side by side using the same .teco_ini. * Common data between the Curses UI (sciteco-curses) and Gtk UI are in a new architecture-independant package sciteco-common. * The Gtk+ binaries are prefixed with `g` (gsciteco, gtedoc.tes, ggrosciteco.tes). * Debian source and binary packages can be built using `./distribute.mk debian` as usual. It should also be possible to push everything to the PPA for the next release, although that is not yet tested.
Diffstat (limited to 'debian/rules')
-rwxr-xr-xdebian/rules53
1 files changed, 44 insertions, 9 deletions
diff --git a/debian/rules b/debian/rules
index 7d6302c..64b5f16 100755
--- a/debian/rules
+++ b/debian/rules
@@ -13,23 +13,58 @@
export TERM=
# Build with link-time-optimizations
+# FIXME: This is not passed down to Scintilla.
+# Once we support an --enable-lto site-config-option, we should rather use that.
export DEB_CFLAGS_MAINT_APPEND=-flto
export DEB_CXXFLAGS_MAINT_APPEND=-flto
export DEB_LDFLAGS_MAINT_APPEND=-flto
+# Since we override a few `dh` commands, it cannot care about
+# parallel builds.
+ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+MAKEFLAGS += -j$(NUMJOBS)
+endif
+
%:
dh $@
-build:
+build build-arch build-indep: build-curses-stamp build-gtk-stamp
+ dh_testdir
+
+build-curses-stamp:
dh_testdir
- dh_auto_configure -- \
- --enable-bootstrap \
- --with-interface=ncurses \
- $(shell dpkg-buildflags --export=configure)
- dh_auto_build
+ rm -rf build-curses
+ mkdir build-curses
+ cp -r scintilla build-curses/
+ dh_auto_configure -Bbuild-curses -- \
+ --with-interface=ncurses
+ dh_auto_build -Bbuild-curses
+ dh_auto_test -Bbuild-curses
touch $@
-clean:
+# NOTE: This does not depend on install-curses-stamp and uses
+# --disable-bootstrap to speed up builds since that would prevent parallel builds.
+build-gtk-stamp:
dh_testdir
- dh_auto_clean
- dh_clean
+ rm -rf build-gtk
+ mkdir build-gtk
+ cp -r scintilla build-gtk/
+ dh_auto_configure -Bbuild-gtk -- \
+ --program-prefix=g \
+ --with-interface=gtk
+# NOTE: Since the Gtk+ version of SciTECO is called during the build,
+# we need an XServer which may be missing on the build server.
+# That's why we use xvfb.
+ xvfb-run -a dh_auto_build -Bbuild-gtk
+# FIXME: The test suite can be ridiculously lengthy with Gtk binaries.
+# xvfb-run -a dh_auto_test -Bbuild-gtk
+ touch $@
+
+install:
+ xvfb-run -a dh install -Bbuild-gtk -psciteco-gtk
+ dh install -Bbuild-curses -psciteco-curses -psciteco-common
+
+clean:
+ dh clean -Bbuild-gtk
+ dh clean -Bbuild-curses