Package: libcurses-perl Version: 1.12-1wide1 Severity: wishlist Tags: patch
I'd like to be able to use curses from perl with wide-characters. The attached patch builds an alternative version "libcursesw-perl" that links to the wide libraries. It could be done cleaner by building each version in a separate build-directory, but I don't know how to do that with perl extensions. Therefore I punted and built both alternatives from the install target. Another option is to *always* link libcurses-perl with the wide libraries, offering no "narrow" alternative. AFAICS libncursesw is fully compatible with libncurses, so that should not be a problem, but I don't know for sure. That would make the patch much cleaner. Perhaps the two-alternatives option could be used for now, and the wide-only option in the future. The patch also includes an important dh_shlibdeps call, without which the packages lack "Depends: libncurses5" (this should probably be in a separate bug).
diff -ruN libcurses-perl-1.13/debian/changelog libcurses-perl-1.13+/debian/changelog --- libcurses-perl-1.13/debian/changelog 2006-01-06 19:18:10.000000000 +0100 +++ libcurses-perl-1.13+/debian/changelog 2006-01-07 11:25:52.000000000 +0100 @@ -1,3 +1,16 @@ +libcurses-perl (1.13-1rb1) unstable; urgency=low + + * Build versions based on wide-character and normal ("narrow") ncurses: + + Build-depend on libcursesw5-dev as well. + + The build target now does nothing. + + Split off three sub-targets from the install target: "install-pre", + and one for each library version to be built and installed. + + Put the examples in both packages. + * dh_installdirs call was superflous. + * Add missing dh_shlibdeps call. + + -- Robert Bihlmeyer <[EMAIL PROTECTED]> Sat, 7 Jan 2006 11:25:52 +0100 + libcurses-perl (1.13-1) unstable; urgency=low * New upstream release (Closes: #338211) diff -ruN libcurses-perl-1.13/debian/control libcurses-perl-1.13+/debian/control --- libcurses-perl-1.13/debian/control 2006-01-06 19:18:10.000000000 +0100 +++ libcurses-perl-1.13+/debian/control 2006-01-06 19:20:15.000000000 +0100 @@ -3,7 +3,7 @@ Priority: optional Maintainer: Jay Bonci <[EMAIL PROTECTED]> Standards-Version: 3.6.2.1 -Build-Depends: perl (>= 5.8), libncurses5-dev, debhelper (>= 4.0) +Build-Depends: perl (>= 5.8), libncurses5-dev, libncursesw5-dev, debhelper (>= 4.0) Package: libcurses-perl Architecture: any @@ -19,3 +19,16 @@ This package was previously called perl-curses. To comply with informal Debian standards, it has been renamed to libcurses-perl. +Package: libcursesw-perl +Architecture: any +Depends: ${perl:Depends}, ${shlibs:Depends} +Provides: perl-curses, libcurses-perl +Replaces: perl-curses +Conflicts: perl-curses, libcurses-perl +Description: Curses interface for Perl + libcurses-perl (the Curses module from CPAN) will let you + use the ncurses/curses terminal screen manipulation + routines from Perl programs. + . + This version of the package is based on the wide-character (unicode) version + of ncurses. diff -ruN libcurses-perl-1.13/debian/dirs libcurses-perl-1.13+/debian/dirs --- libcurses-perl-1.13/debian/dirs 2006-01-06 19:18:10.000000000 +0100 +++ libcurses-perl-1.13+/debian/dirs 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -usr/bin -usr/sbin -usr/lib/perl5 -usr/share/doc/libcurses-perl -usr/share/man/man1 -usr/share/man/man3 diff -ruN libcurses-perl-1.13/debian/libcursesw-perl.examples libcurses-perl-1.13+/debian/libcursesw-perl.examples --- libcurses-perl-1.13/debian/libcursesw-perl.examples 1970-01-01 01:00:00.000000000 +0100 +++ libcurses-perl-1.13+/debian/libcursesw-perl.examples 2006-01-06 18:45:23.000000000 +0100 @@ -0,0 +1 @@ +demo* diff -ruN libcurses-perl-1.13/debian/rules libcurses-perl-1.13+/debian/rules --- libcurses-perl-1.13/debian/rules 2006-01-06 19:18:10.000000000 +0100 +++ libcurses-perl-1.13+/debian/rules 2006-01-07 11:20:59.000000000 +0100 @@ -10,27 +10,38 @@ #PACKAGE=`pwd | sed -e "s/.*\/\\(.*\\)-.*/\\1/"` PACKAGE='libcurses-perl' +PACKAGEW='libcursesw-perl' build: - dh_testdir - # Add here commands to compile the package. - #perl Makefile.PL PANELS MENUS FORMS verbose INSTALLDIRS=vendor - perl Makefile.PL PANELS MENUS verbose INSTALLDIRS=vendor + clean: dh_testdir dh_testroot -$(MAKE) clean - rm -f Makefile.old + rm -f Makefile.old stamp-install-narrow stamp-install-wide dh_clean -install: +install-pre: dh_testdir dh_testroot - dh_clean -k - dh_installdirs +stamp-install-narrow: + -$(MAKE) clean + perl Makefile.PL PANELS MENUS verbose INSTALLDIRS=vendor $(MAKE) PREFIX=$(CURDIR)/debian/$(PACKAGE)/usr OPTIMIZE="-O2 -g -Wall" test install + touch $@ + +stamp-install-wide: + -$(MAKE) clean + CURSES_CFLAGS=-I/usr/include/ncursesw CURSES_LDFLAGS=-lncursesw \ + CURSES_PANEL_LDFLAGS=-lpanelw CURSES_MENU_LDFLAGS=-lmenuw \ + CURSES_FORM_LDFLAGS=-lformw \ + perl Makefile.PL PANELS MENUS verbose INSTALLDIRS=vendor + $(MAKE) PREFIX=$(CURDIR)/debian/$(PACKAGEW)/usr OPTIMIZE="-O2 -g -Wall" test install + touch $@ + +install: install-pre stamp-install-narrow stamp-install-wide -find $(CURDIR)/debian -type d | xargs rmdir -p --ignore-fail-on-non-empty binary-indep:; @@ -47,9 +58,10 @@ dh_fixperms dh_installdeb dh_perl + dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install configure +.PHONY: build clean binary-indep binary-arch binary install install-pre