Hello community,
here is the log from the commit of package perl-Curses
checked in at Mon Mar 10 18:33:16 CET 2008.
--------
--- perl-Curses/perl-Curses.changes 2007-11-19 11:40:21.000000000 +0100
+++ /mounts/work_src_done/STABLE/perl-Curses/perl-Curses.changes 2008-03-10 15:23:17.000000000 +0100
@@ -1,0 +2,8 @@
+Mon Mar 10 15:22:27 CET 2008 - anicka@suse.cz
+
+- update to 1.23
+ * Fix crash of Makefile.PL on Windows.
+ * Don't undefine 'bool' macro in c-darwin hints file.
+ * Fix missing comment delimiter.
+
+-------------------------------------------------------------------
Old:
----
Curses-1.19-comment.diff
Curses-1.19.tar.bz2
New:
----
Curses-1.23.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Curses.spec ++++++
--- /var/tmp/diff_new_pack.R23891/_old 2008-03-10 18:32:37.000000000 +0100
+++ /var/tmp/diff_new_pack.R23891/_new 2008-03-10 18:32:37.000000000 +0100
@@ -1,7 +1,7 @@
#
-# spec file for package perl-Curses (Version 1.19)
+# spec file for package perl-Curses (Version 1.23)
#
-# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -10,9 +10,10 @@
# norootforbuild
+
Name: perl-Curses
BuildRequires: ncurses-devel
-Version: 1.19
+Version: 1.23
Release: 1
Provides: perl_cur Curses
Obsoletes: perl_cur
@@ -23,7 +24,6 @@
Url: http://cpan.org/modules/by-module/Curses/
Summary: A Dynamic Loadable Curses Module for Perl5
Source: Curses-%{version}.tar.bz2
-Patch: Curses-%{version}-comment.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -38,7 +38,6 @@
%prep
%setup -q -n Curses-%{version}
-%patch
%build
CURSES_LDFLAGS="-lncursesw" CURSES_CFLAGS="" perl Makefile.PL PANELS MENUS OPTIMIZE="$RPM_OPT_FLAGS -Wall"
@@ -62,8 +61,14 @@
%{perl_vendorarch}/Curses.pm
%{perl_vendorarch}/auto/Curses
/var/adm/perl-modules/%{name}
+
%changelog
-* Mon Nov 19 2007 - anicka@suse.cz
+* Mon Mar 10 2008 anicka@suse.cz
+- update to 1.23
+ * Fix crash of Makefile.PL on Windows.
+ * Don't undefine 'bool' macro in c-darwin hints file.
+ * Fix missing comment delimiter.
+* Mon Nov 19 2007 anicka@suse.cz
- update to 1.19
- add -lpanel and -lmenu
* Use Ncursesw (Ncurses with wide character functions) instead of
@@ -71,11 +76,11 @@
* Change all sv_isa() to sv_derived_from() so you can use
subclasses.
* bugfixes, test fixes
-* Thu Mar 29 2007 - rguenther@suse.de
+* Thu Mar 29 2007 rguenther@suse.de
- add ncurses-devel BuildRequires
-* Sat Mar 10 2007 - mmarek@suse.cz
+* Sat Mar 10 2007 mmarek@suse.cz
- link with ncursesw.so to make UTF8 output work
-* Fri Jul 14 2006 - anicka@suse.cz
+* Fri Jul 14 2006 anicka@suse.cz
- update to 1.14
* Make demo.form work on 64 bit machine.
* Add some narration to Makefile.PL to help with diagnosis.
@@ -83,36 +88,36 @@
and add explanation.
* Some kind of build fix to get panels, forms, and menu functions
to build.
-* Wed Jan 25 2006 - mls@suse.de
+* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
-* Mon Aug 01 2005 - cthiel@suse.de
+* Mon Aug 01 2005 cthiel@suse.de
- update to version 1.12
-* Sat Jan 10 2004 - adrian@suse.de
+* Sat Jan 10 2004 adrian@suse.de
- build as user
-* Fri Aug 22 2003 - mjancar@suse.cz
+* Fri Aug 22 2003 mjancar@suse.cz
- require the perl version we build with
-* Tue Jul 15 2003 - mjancar@suse.cz
+* Tue Jul 15 2003 mjancar@suse.cz
- adapt to perl-5.8.1
- use %%perl_process_packlist
-* Tue May 20 2003 - mjancar@suse.cz
+* Tue May 20 2003 mjancar@suse.cz
- remove unpackaged files
-* Fri Aug 09 2002 - mls@suse.de
+* Fri Aug 09 2002 mls@suse.de
- use sv_isa instead of Perl_sv_isa for threaded perl
-* Tue Jul 02 2002 - mls@suse.de
+* Tue Jul 02 2002 mls@suse.de
- remove race in .packlist generation
-* Fri Aug 03 2001 - rvasice@suse.cz
+* Fri Aug 03 2001 rvasice@suse.cz
- update to version 1.06
- spec file cleanup
-* Tue Nov 14 2000 - cihlar@suse.cz
+* Tue Nov 14 2000 cihlar@suse.cz
- clean up spec file
-* Thu Nov 02 2000 - grimmer@suse.de
+* Thu Nov 02 2000 grimmer@suse.de
- renamed from perl_cur to perl-Curses
- spec file cleanups
-* Tue Aug 22 2000 - cihlar@suse.cz
+* Tue Aug 22 2000 cihlar@suse.cz
- update to version 1.05
- added BuildRoot
- bzipped sources
-* Thu Jan 20 2000 - ro@suse.de
+* Thu Jan 20 2000 ro@suse.de
- use macro for mandir
-* Mon Nov 08 1999 - choeger@suse.de
+* Mon Nov 08 1999 choeger@suse.de
- first version
++++++ Curses-1.19.tar.bz2 -> Curses-1.23.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Curses-1.19/cdemo.c new/Curses-1.23/cdemo.c
--- old/Curses-1.19/cdemo.c 2007-09-28 18:02:03.000000000 +0200
+++ new/Curses-1.23/cdemo.c 2007-11-28 04:52:01.000000000 +0100
@@ -7,7 +7,6 @@
*/
#include "CursesDef.h"
-#include "CursesTyp.h"
#include "c-config.h"
#ifdef VMS
#include /* not in perl.h ??? */
@@ -66,7 +65,7 @@
attrset(A_NORMAL);
# endif
#endif
- addstr(" normal (if your curses supports these modes)");
+ addstr(" normal (if your curses can do these modes)");
move(6, 1);
addstr("do12345678901234567890n't worry be happy");
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Curses-1.19/Curses.c new/Curses-1.23/Curses.c
--- old/Curses-1.19/Curses.c 2007-10-20 20:16:28.000000000 +0200
+++ new/Curses-1.23/Curses.c 2007-12-02 23:30:15.000000000 +0100
@@ -16,23 +16,37 @@
winstr(stdscr, ...) instead. So we undef instr here to avoid a compiler
warning about the redeclaration.
- Similarly, c-config.h may define a macro "pad", while the word
- "pad" is used in perl.h another way, so we undefine it to avoid
+ Similarly, c-config.h may define a macro "tab", while the word
+ "tab" is used in perl.h another way, so we undefine it to avoid
a nasty syntax error.
"term.h" pollutes the name space with hundreds of other macros too.
We'll probably have to add to this list; maybe someday we should
just undef them all, since we don't use them.
-*/
+
+ "bool" is another, and is more problematic. Sometimes, ncurses.h
+ defines that explicitly and that's bad, but sometimes it does it
+ by including , and that's fine. In the former case,
+ we should undefine it now, but in the latter we can't, because then
+ a subsequent #include (by something we #include below)
+ won't define bool because stdbool.h has already been included.
+
+ We're going to leave bool alone now and wait for someone to report
+ that it breaks something. With a real example, we can then plan how
+ to work around this unfortunate ncurses.h behavior. We once had a
+ #undef bool.h in the Mac OSX hints file, so someone presumably found
+ it necessary. But we have also had a Mac OSX system on which compile
+ failed _because_ of that undef, for the reason described above.
+ */
#undef instr
#undef tab
-#include
+#include /* Needed by */
#include
#include
/* I don't know why NEED_sv_2pv_flags is necessary, but ppport.h doesn't
- work right without it. Maybe a bug in Devel::PPPort?
+ work right without it. Maybe a bug in Devel::PPPort? */
#define NEED_sv_2pv_flags
#include "ppport.h"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Curses-1.19/Curses.pm new/Curses-1.23/Curses.pm
--- old/Curses-1.19/Curses.pm 2007-11-19 01:23:18.000000000 +0100
+++ new/Curses-1.23/Curses.pm 2008-03-09 19:05:48.000000000 +0100
@@ -51,7 +51,7 @@
package Curses;
-$VERSION = '1.19'; # Makefile.PL picks this up
+$VERSION = '1.23'; # Makefile.PL picks this up
use Carp;
require Exporter;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Curses-1.19/CursesTyp.h new/Curses-1.23/CursesTyp.h
--- old/Curses-1.19/CursesTyp.h 2001-07-25 20:09:35.000000000 +0200
+++ new/Curses-1.23/CursesTyp.h 2007-11-28 05:09:07.000000000 +0100
@@ -1,21 +1,28 @@
-/* This file can be automatically generated; changes may be lost.
-**
-**
-** CursesTyp.c -- typedef handlers
-**
-** Copyright (c) 1994-2001 William Setzer
-**
-** You may distribute under the terms of either the Artistic License
-** or the GNU General Public License, as specified in the README file.
+/*=============================================================================
+ CursesTyp.h
+===============================================================================
+ Define types that are missing from the Curses library, which other Curses
+ libraries define. This way, we'll have a set of types that we can use
+ regardless of which Curses library we have.
+=============================================================================*/
+
+/* The C_xxx macros are defined by CursesDef.h, which was generated by
+ the build system based on its analysis of the Curses library on this
+ system.
+
+ C_xxx defined means the Curses library header files define type 'xxx'.
*/
#ifndef C_TYPATTR_T
#define attr_t int
#endif
+#if 0
+/* Disabled this in Curses.pm 1.21. Why would we want 'bool' defined? */
#ifndef C_TYPBOOL
#define bool int
#endif
+#endif
#ifndef C_TYPCHTYPE
#define chtype int
@@ -33,3 +40,13 @@
#define SCREEN int
#endif
+
+
+/*
+**
+** Copyright (c) 1994-2001 William Setzer
+**
+** You may distribute under the terms of either the Artistic License
+** or the GNU General Public License, as specified in the README file.
+*/
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Curses-1.19/hints/c-cygwin.h new/Curses-1.23/hints/c-cygwin.h
--- old/Curses-1.19/hints/c-cygwin.h 2005-12-07 08:20:03.000000000 +0100
+++ new/Curses-1.23/hints/c-cygwin.h 2007-11-28 05:07:54.000000000 +0100
@@ -22,8 +22,6 @@
#include
#endif
-#undef bool
-
#undef C_LONGNAME
#undef C_LONG0ARGS
#undef C_LONG2ARGS
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Curses-1.19/hints/c-darwin.h new/Curses-1.23/hints/c-darwin.h
--- old/Curses-1.19/hints/c-darwin.h 2005-12-07 08:20:36.000000000 +0100
+++ new/Curses-1.23/hints/c-darwin.h 2007-11-28 05:07:49.000000000 +0100
@@ -27,5 +27,3 @@
#define C_TOUCHLINE
#define C_TOUCH3ARGS
#undef C_TOUCH4ARGS
-
-#undef bool
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Curses-1.19/hints/c-gnukfreebsd.h new/Curses-1.23/hints/c-gnukfreebsd.h
--- old/Curses-1.19/hints/c-gnukfreebsd.h 1970-01-01 01:00:00.000000000 +0100
+++ new/Curses-1.23/hints/c-gnukfreebsd.h 2007-12-20 17:46:53.000000000 +0100
@@ -0,0 +1,27 @@
+/* Hint file for the Debian GNU/kfreebsd platform
+ *
+ * If this configuration doesn't work, look at the file "c-none.h"
+ * for how to set the configuration options.
+ */
+
+#include
+
+#ifdef C_PANELSUPPORT
+#include
+#endif
+
+#ifdef C_MENUSUPPORT
+#include
+#endif
+
+#ifdef C_FORMSUPPORT
+#include
+#endif
+
+#define C_LONGNAME
+#define C_LONG0ARGS
+#undef C_LONG2ARGS
+
+#define C_TOUCHLINE
+#define C_TOUCH3ARGS
+#undef C_TOUCH4ARGS
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Curses-1.19/hints/c-linux.ncurses.h new/Curses-1.23/hints/c-linux.ncurses.h
--- old/Curses-1.19/hints/c-linux.ncurses.h 2005-12-07 08:23:58.000000000 +0100
+++ new/Curses-1.23/hints/c-linux.ncurses.h 2007-11-28 05:07:38.000000000 +0100
@@ -4,8 +4,6 @@
* for how to set the configuration options.
*/
-#undef bool
-
#include
#ifdef C_PANELSUPPORT
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Curses-1.19/HISTORY new/Curses-1.23/HISTORY
--- old/Curses-1.19/HISTORY 2007-11-19 01:24:10.000000000 +0100
+++ new/Curses-1.23/HISTORY 2008-03-09 19:05:19.000000000 +0100
@@ -11,6 +11,22 @@
Curses itself is much older than the Perl implementation. Curses was
originally only a C programming library.
+New in 1.23 (Released March 9, 2008)
+
+ Fix crash of Makefile.PL on Windows.
+
+New in 1.22 (Released February 29, 2008)
+
+ Nothing. Just a packaging fix.
+
+New in 1.21 (Released February 15, 2008)
+
+ Don't undefine 'bool' macro in c-darwin hints file.
+
+New in 1.20 (Released November 19, 2007)
+
+ Fix missing comment delimiter.
+
New in 1.19 (Released November 18, 2007)
Make it work on 5.005 again, using ppport.h (Devel::PPPort).
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Curses-1.19/INSTALL new/Curses-1.23/INSTALL
--- old/Curses-1.19/INSTALL 2007-09-29 05:02:54.000000000 +0200
+++ new/Curses-1.23/INSTALL 2008-03-01 20:19:16.000000000 +0100
@@ -45,6 +45,17 @@
Makefile.PL will find them there. Otherwise, set the _CFLAGS
environment variables below accordingly.
+ Alternatively, you can just edit c-config.h, after running
+ Makefile.PL. Replace the line
+
+ #include
+
+ with something like
+
+ #include "/usr/include/form.h"
+
+ explicitly specifying the Ncurses version of form.h.
+
You can ignore all this if you're not building forms capability
into the Perl Curses module (by specifying "FORMS" as an option to
Makefile.PL below).
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Curses-1.19/Makefile.PL new/Curses-1.23/Makefile.PL
--- old/Curses-1.19/Makefile.PL 2007-10-28 02:18:55.000000000 +0100
+++ new/Curses-1.23/Makefile.PL 2008-03-09 19:02:46.000000000 +0100
@@ -25,7 +25,9 @@
# Environment variables tell us how one accesses the Curses library
# on this system.
#
-# CURSES_LIBTYPE is 'bsd', 'ncurses', or 'ncursesw'.
+# CURSES_LIBTYPE
+# 'bsd', 'ncurses', or 'ncursesw' on most systems.
+# In some environments, there are other possibilities.
#
# CURSES_CFLAGS
# CURSES_PANEL_CFLAGS
@@ -155,41 +157,57 @@
'' => undef
};
-
###
## You shouldn't need to change anything below
#
+my $TRUE = 1; my $FALSE = 0;
+
+
+sub nCursesIsInstalled() {
+
+ if (-f('/usr/include/ncurses/ncurses.h')) {
+ return $TRUE;
+ } elsif (-f('/usr/include/ncurses.h')) {
+ return $TRUE;
+ } else {
+ return $FALSE;
+ }
+}
+
-sub chooseBsdOrNcurses($$) {
- my ($libtypDefault, $libtypR) = @_;
+sub bsdIsInstalled() {
+
+ if (-f('/usr/include/curses/curses.h')) {
+ return $TRUE;
+ } elsif (-f('/usr/include/curses.h')) {
+ return $TRUE;
+ } else {
+ return $FALSE;
+ }
+}
+
+
+
+sub chooseLibraryType($$) {
+ my ($typeList, $libtypR) = @_;
#-----------------------------------------------------------------------------
# Assuming this is a platform on which there may be multiple versions of
# Curses, choose one.
#
-# Return the choice as $$libtypR: typeically 'bsd' or 'ncurses'.
+# Return the choice as $$libtypR.
#
# We prefer Ncurses, so choose that if it appears to be installed.
# If it doesn't, but BSD appears to be installed, we choose that. If
# we don't see either, we choose $libtypDefault.
-#
-# Among the the two versions of Ncurses, we prefer the
-# non-wide-character version because Curses.pm doesn't work
-# completely with the wide character version. But we'll get that
-# fixed eventually and then make the more capable wide character
-# version the preferred choice.
#-----------------------------------------------------------------------------
if (0) {
- } elsif (-f('/usr/include/ncurses/ncurses.h')) {
- $$libtypR = 'ncurses';
- } elsif (-f('/usr/include/ncurses.h')) {
+ } elsif ($typeList->{'ncurses'} && nCursesIsInstalled()) {
$$libtypR = 'ncurses';
- } elsif (-f('/usr/include/curses/curses.h')) {
- $$libtypR = 'bsd';
- } elsif (-f('/usr/include/curses.h')) {
+ } elsif ($typeList->{'bsd'} && bsdIsInstalled()) {
$$libtypR = 'bsd';
} else {
- $$libtypR = $libtypDefault;
+ $$libtypR = $typeList->{'default'};
}
}
@@ -198,9 +216,9 @@
sub guessAtCursesLocation($$$) {
my ($libtypR, $incR, $libsR) = @_;
#-----------------------------------------------------------------------------
-# Return as $$libtypR the type of Curses library we should use:
+# Return as $$libtypR the type of Curses library we should use, e.g.
# 'ncurses', 'ncursesw' or 'bsd'. May be undefined if we don't think
-# we have to choose between the two on this system.
+# we have to choose between those on this system.
#
# Return as $$incR the -I option we think is appropriate to get the
# Curses interface header files.
@@ -219,17 +237,16 @@
$$libsR = '-lncursesw';
$$libtypR = 'ncursesw';
} else {
- my $guess1 = $guess_cfg->{$OSNAME};
-
+ my $guess1 = $guess_cfg->{$OSNAME};
my $libtyp;
- # 'bsd' or 'ncurses'. Undefined if we think
+ # typically 'bsd' or 'ncurses'. Undefined if we think
# there's no choice of Curses version on this platform.
my $guess;
if (ref $guess1 eq 'HASH') {
# For this platform, we have a choice of Curses library.
- chooseBsdOrNcurses($guess1->{'default'}, \$libtyp);
+ chooseLibraryType($guess1, \$libtyp);
$guess = $guess1->{$libtyp};
} else {
$guess = $guess1;
@@ -318,11 +335,19 @@
}
+# A "library class" is a more abstract categorization than a "library type."
+# The difference between two library types is just compiler and linker
+# options to choose the right library, but different library classes
+# have bigger differences and can have different hints files. The
+# library class is part of the hint file name.
my %libClass = (
'bsd' => 'bsd',
'ncurses' => 'ncurses',
- 'ncursesw' => 'ncurses'
+ 'ncursesw' => 'ncurses',
+ 'sysv' => 'sysv',
+ 'visualc' => 'visualc',
+ 'borland' => 'borland',
);
@@ -330,15 +355,13 @@
sub makeConfigH($) {
my ($libType) = @_;
#-----------------------------------------------------------------------------
-# $libType is the kind of Curses library we are using - 'bsd',
+# $libType is the kind of Curses library we are using - e.g. 'bsd',
# 'ncurses', or 'ncursesw'. It may be undefined if there is no
# choice on this system.
#-----------------------------------------------------------------------------
print qq{Making a guess for "c-config.h"...\n};
my $libClass;
- # $libClass is a more abstract type than $libType. It is
- # 'bsd' or 'ncurses'.
if (defined($libType)) {
$libClass = $libClass{$libType};
@@ -473,8 +496,10 @@
my $ncursesLibSearch;
+$ncursesLibSearch = ''; # initial value
+
while ($libs =~ m{(-L\S+)}g) {
- $ncursesLibSearch .= $1;
+ $ncursesLibSearch .= $1 . ' ';
}
guessPanelMenuFormLibs($ncursesLibSearch, $libType,
@@ -557,12 +582,12 @@
if ($OSNAME eq 'VMS') {
$mf .= <