]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - package/debian/rules
ncurses 6.2 - patch 20210821
[ncurses.git] / package / debian / rules
old mode 100644 (file)
new mode 100755 (executable)
index bff27f2..b90fd5c
@@ -1,11 +1,13 @@
 #!/usr/bin/make -f
-# Made with the aid of dh_make, by Craig Small
-# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
-# Some lines taken from debmake, by Cristoph Lameter.
+# $Id: rules,v 1.40 2021/03/23 00:17:05 tom Exp $
 
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
+# packages
+PACKAGES.indep = ncurses6-doc ncurses6-doc-html
+PACKAGES.arch  = ncurses6 ncursest6
+
 # These are used for cross-compiling and for saving the configure script
 # from having to guess our platform (since we know it already)
 DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
@@ -17,9 +19,11 @@ CC_STRICT = $(CC_NORMAL) -W -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissi
 MY_ABI=6
 MY_DIR=/usr
 MYDATA=/usr/local/ncurses/share/terminfo
-BUILD_DIR=$(CURDIR)/debian/ncurses$(MY_ABI)
+NORMAL_DIR=$(CURDIR)/debian/ncurses$(MY_ABI)
+THREAD_DIR=$(CURDIR)/debian/ncursest$(MY_ABI)
 
 CFLAGS   = $(shell dpkg-buildflags --get CFLAGS) $(CC_NORMAL)
+CXXFLAGS = $(shell dpkg-buildflags --get CXXFLAGS)
 CPPFLAGS = $(shell dpkg-buildflags --get CPPFLAGS)
 LDFLAGS  = $(shell dpkg-buildflags --get LDFLAGS)
 
@@ -40,106 +44,220 @@ ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
         INSTALL_PROGRAM += -s
 endif
 
+verbose = # -v
 
-configure: configure-stamp
-configure-stamp:
-       dh_testdir
-
+configure = \
        $(RPATH_ENV) \
        CFLAGS="$(CFLAGS)" \
        CPPFLAGS="$(CPPFLAGS)" \
-       LDFLAGS="$(LDFLAGS)" ./configure $(RPATH_OPT) \
+       LDFLAGS="$(LDFLAGS)" ../../configure $(RPATH_OPT) \
                --host=$(DEB_HOST_GNU_TYPE) \
                --build=$(DEB_BUILD_GNU_TYPE) \
                --prefix=$(MY_DIR) \
-               --with-default-terminfo-dir=$(MYDATA) \
-               --with-terminfo-dirs=$(MYDATA):/usr/share/terminfo \
                --disable-echo \
                --disable-getcap \
                --disable-leaks \
                --disable-macros  \
                --disable-overwrite  \
+               --disable-relink \
                --disable-termcap \
-               --enable-const \
-               --enable-ext-colors \
-               --enable-ext-mouse \
-               --enable-ext-putwin \
                --enable-hard-tabs \
-               --enable-interop \
+               --enable-opaque-curses \
+               --enable-opaque-form \
+               --enable-opaque-menu \
+               --enable-opaque-panel \
                --enable-pc-files \
-               --enable-sp-funcs \
+               --enable-stdnoreturn \
                --enable-warnings \
                --enable-wgetch-events \
                --enable-widec \
+               --enable-xmc-glitch \
                --program-suffix=$(MY_ABI) \
                --verbose \
-               --with-chtype=uint32_t \
-               --with-mmask_t=uint32_t \
+               --with-abi-version=$(MY_ABI) \
+               --with-config-suffix=dev \
+               --with-cxx-shared \
+               --with-default-terminfo-dir=$(MYDATA) \
                --with-develop \
                --with-extra-suffix=$(MY_ABI) \
                --with-shared \
+               --with-terminfo-dirs=$(MYDATA):/lib/terminfo:/usr/share/terminfo \
                --with-termlib \
                --with-ticlib \
                --with-trace \
-               --with-cxx-shared \
                --with-versioned-syms \
                --with-xterm-kbs=DEL \
                --without-ada \
                --without-debug \
+               --without-manpage-aliases \
                --without-normal
 
-       touch configure-stamp
+NCURSES6_DIR = $(CURDIR)/debian/ncurses6
+NCURSEST6_DIR = $(CURDIR)/debian/ncursest6
+
+.PHONY: all config build install binary clean config-indep config-arch \
+    build-indep build-arch install-indep install-arch binary-indep \
+    binary-arch
 
-build: build-stamp
-build-stamp: configure-stamp
+all: build
+
+config: config-indep config-arch
+build: build-indep build-arch
+install: install-indep install-arch
+binary: binary-indep binary-arch
+clean:
        dh_testdir
+       dh_testroot
+       dh_clean $(verbose)
+       rm -rf t
 
-       $(MAKE)
+config-indep: $(PACKAGES.indep:%=config-%-stamp)
+config-arch: $(PACKAGES.arch:%=config-%-stamp)
 
-       touch build-stamp
+build-indep: $(PACKAGES.indep:%=build-%-stamp)
+build-arch: $(PACKAGES.arch:%=build-%-stamp)
 
-clean:
+install-indep: $(PACKAGES.indep:%=install-%-stamp)
+install-arch: $(PACKAGES.arch:%=install-%-stamp)
+
+# make the doc-package installable by renaming everything to avoid clashing
+patch-ncurses6-stamp:
+       dh_testdir
+       sed -i.bak \
+               -e 's/-config\.1$$/dev-config.1/;t' \
+               -e 's/\.3ncurses$$/.3ncurses6/' \
+               -e 's/\.3curses$$/.3curses6/' \
+               -e 's/\.3form$$/.3form6/' \
+               -e 's/\.3menu$$/.3menu6/' \
+               -e 's/\.3panel$$/.3panel6/' \
+               -e 's/\.\([157]\)$$/6.\1/' \
+               man/man_db.renames
+       diff -u man/man_db.renames.bak man/man_db.renames || true
+       touch $@
+
+config-ncurses6-stamp: patch-ncurses6-stamp
+       dh_testdir
+       rm -rf t/ncurses6
+       mkdir -p t/ncurses6
+       cd t/ncurses6; $(configure)
+       touch $@
+
+config-ncursest6-stamp: patch-ncurses6-stamp
+       dh_testdir
+       rm -rf t/ncursest6
+       mkdir -p t/ncursest6
+       cd t/ncursest6; $(configure) \
+               --enable-interop \
+               --enable-sp-funcs \
+               --program-suffix=t$(MY_ABI) \
+               --with-pthread
+       touch $@
+
+config-ncurses6-doc-stamp \
+config-ncurses6-doc-html-stamp: config-ncurses6-stamp
+       touch $@
+
+build-ncurses6-stamp: config-ncurses6-stamp
+       dh_testdir
+
+       $(MAKE) -C t/ncurses6
+
+       touch $@
+
+build-ncursest6-stamp: config-ncursest6-stamp
+       dh_testdir
+
+       $(MAKE) -C t/ncursest6
+
+       touch $@
+
+build-ncurses6-doc-stamp \
+build-ncurses6-doc-html-stamp: build-ncurses6-stamp
+       touch $@
+
+install-ncurses6-stamp: build-ncurses6-stamp
        dh_testdir
        dh_testroot
+       dh_installdirs $(verbose)
+       dh_prep        $(verbose) -pncurses6
 
-       [ ! -f makefile ] || $(MAKE) distclean
+       $(MAKE) -C t/ncurses6 install.libs install.progs DESTDIR=$(NCURSES6_DIR)
+       $(MAKE) -C t/ncurses6/test ncurses LOCAL_LIBDIR=$(MY_DIR)/lib
 
-       rm -f configure-stamp build-stamp install-stamp
+       mv t/ncurses6/test/ncurses $(NCURSES6_DIR)$(MY_DIR)/bin/ncurses$(MY_ABI)
 
-       dh_clean
+       touch $@
 
-install: install-stamp
-install-stamp: build-stamp
+install-ncursest6-stamp: build-ncursest6-stamp
        dh_testdir
        dh_testroot
-       dh_clean -k
-       dh_installdirs
+       dh_installdirs $(verbose)
+       dh_prep        $(verbose) -pncursest6
+
+       $(MAKE) -C t/ncursest6 install.libs install.progs DESTDIR=$(NCURSEST6_DIR)
+       $(MAKE) -C t/ncursest6/test ncurses LOCAL_LIBDIR=$(MY_DIR)/lib
 
-       $(MAKE) install.libs install.progs DESTDIR=$(BUILD_DIR)
+       mv t/ncursest6/test/ncurses $(NCURSEST6_DIR)$(MY_DIR)/bin/ncursest$(MY_ABI)
 
-       ( cd test && make ncurses LOCAL_LIBDIR=$(MY_DIR)/lib )
-       mv test/ncurses $(BUILD_DIR)$(MY_DIR)/bin/ncurses$(MY_ABI)
+       touch $@
+
+install-ncurses6-doc-stamp: build-ncurses6-stamp
+       dh_testdir
+       dh_testroot
+       dh_installdirs $(verbose)
+       dh_prep        $(verbose) -pncurses6-doc
 
-       touch install-stamp
+       $(MAKE) -C t/ncurses6 install.man DESTDIR=$(NCURSES6_DIR)-doc
+
+       touch $@
+
+HTML_DESTDIR=$(NCURSES6_DIR)-doc-html/usr/share/ncurses6-doc-html
+install-ncurses6-doc-html-stamp: build-ncurses6-stamp
+       dh_testdir
+       dh_testroot
+       dh_installdirs $(verbose)
+       dh_prep        $(verbose) -pncurses6-doc-html
+
+       cd doc/html && find * -type d | sort | xargs -I{} mkdir -p -v $(HTML_DESTDIR)/{}
+       cd doc/html && find * -type f -name '*.html' | sort | xargs -I{} install -m 644 -p -v -T {} $(HTML_DESTDIR)/{}
+
+       touch $@
 
 # Build architecture-independent files here.
-binary-indep: build install
-# No binary-indep target.
+binary-indep: install-indep
+ifneq ($(PACKAGES.indep),)
+       rm -f $(PACKAGES.indep:%=install-%-stamp)
+       dh_testdir
+       dh_testroot
+       dh_lintian           $(verbose) $(PACKAGES.arch:%=-p%)
+       dh_installdocs       $(verbose) $(PACKAGES.indep:%=-p%)
+       dh_installman        $(verbose) $(PACKAGES.indep:%=-p%)
+       dh_installexamples   $(verbose) $(PACKAGES.indep:%=-p%)
+       dh_installchangelogs $(verbose) $(PACKAGES.indep:%=-p%) NEWS
+       dh_compress          $(verbose) $(PACKAGES.indep:%=-p%)
+       dh_fixperms          $(verbose) $(PACKAGES.indep:%=-p%)
+       dh_installdeb        $(verbose) $(PACKAGES.indep:%=-p%)
+       dh_gencontrol        $(verbose) $(PACKAGES.indep:%=-p%)
+       dh_md5sums           $(verbose) $(PACKAGES.indep:%=-p%)
+       dh_builddeb          $(verbose) $(PACKAGES.indep:%=-p%)
+endif
 
 # Build architecture-dependent files here.
-binary-arch: build install
+binary-arch: install-arch
+ifneq ($(PACKAGES.arch),)
+       rm -f $(PACKAGES.arch:%=install-%-stamp)
        dh_testdir
        dh_testroot
-       dh_installchangelogs NEWS
-       dh_strip
-       dh_compress
-       dh_fixperms
-       dh_installdeb
-       dh_makeshlibs
-       dh_shlibdeps
-       dh_gencontrol
-       dh_md5sums
-       dh_builddeb
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install install-stamp
+       dh_lintian           $(verbose) $(PACKAGES.arch:%=-p%)
+       dh_installdocs       $(verbose) $(PACKAGES.arch:%=-p%)
+       dh_installchangelogs $(verbose) $(PACKAGES.arch:%=-p%)  NEWS
+       dh_strip             $(verbose) $(PACKAGES.arch:%=-p%)
+       dh_compress          $(verbose) $(PACKAGES.arch:%=-p%)
+       dh_fixperms          $(verbose) $(PACKAGES.arch:%=-p%)
+       dh_installdeb        $(verbose) $(PACKAGES.arch:%=-p%)
+       dh_makeshlibs        $(verbose) $(PACKAGES.arch:%=-p%)
+       dh_shlibdeps         $(verbose) $(PACKAGES.arch:%=-p%)
+       dh_gencontrol        $(verbose) $(PACKAGES.arch:%=-p%)
+       dh_md5sums           $(verbose) $(PACKAGES.arch:%=-p%)
+       dh_builddeb          $(verbose) $(PACKAGES.arch:%=-p%)
+endif