Package: yacas
Version: 1.0.57-2
Severity: serious
Tags: patch
Justification: no longer builds from source

As you may have heard, Debian is undertaking an ongoing transition to
G++ 4.  This affects yacas, particularly given that yacas-proteus
could really stand to be rebuilt against current fltk1.1 packages.
(As the fltk1.1 maintainer, I'm investigating the remaining handful of
holdouts.)

Because current versions of G++ (rightly) forbid casts from 64-bit
pointers to 32-bit ints, I hit a few errors when attempting to rebuild
yacas in an up-to-date environment; however, they turned out to be
easy to fix, and I'm attaching a patch that does so.

Could you please upload patched packages, or grant me permission to
perform an NMU?

Thanks.

(BTW, you should be able to close #266283 with this upload.)

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.13.2
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)

Versions of packages yacas depends on:
ii  amaya [www-browser] 8.5-1                Web Browser, HTML Editor and Testb
ii  chimera2 [www-brows 2.0a19-4             Web browser for X
ii  debianutils         2.14.3               Miscellaneous utilities specific t
ii  dillo [www-browser] 0.8.3-1.1            GTK-based web browser
ii  elinks [www-browser 0.10.6-1             advanced text-mode WWW browser
ii  elvis [www-browser] 2.2.0-3              powerful clone of the vi/ex text e
ii  epiphany-browser [w 1.6.5-2              Intuitive GNOME web browser
ii  freeglut3           2.2.0-8.1            OpenGL Utility Toolkit
ii  galeon [www-browser 1.3.21-6             GNOME web browser for advanced use
ii  kazehakase [www-bro 0.3.1-1              gecko based web browser using GTK
ii  konqueror [www-brow 4:3.3.2-1sarge1      KDE's advanced File Manager, Web B
ii  libc6               2.3.5-6              GNU C Library: Shared libraries an
ii  libgcc1             1:4.0.2-2            GCC support library
ii  libglu1-xorg [libgl 6.8.2.dfsg.1-7       Mesa OpenGL utility library [X.Org
ii  libgsl0             1.7-2                GNU Scientific Library (GSL) -- li
ii  libstdc++5          1:3.3.6-10           The GNU Standard C++ Library v3
ii  links [www-browser] 0.99+1.00pre12-1     Character mode WWW browser
ii  links2 [www-browser 2.1pre18-2           Web browser running in both graphi
ii  lynx [www-browser]  2.8.5-2              Text-mode WWW Browser
ii  mozilla-browser [ww 2:1.7.11-1           The Mozilla Internet application s
ii  mozilla-firefox [ww 1.0.7-1              lightweight web browser based on M
ii  netrik [www-browser 1.15.3-1             text mode WWW browser with vi like
ii  w3-el-e21 [www-brow 4.0pre.2001.10.27-17 Web browser for GNU Emacs 21
ii  w3m [www-browser]   0.5.1-4              WWW browsable pager with excellent
ii  xemacs21-mule [www- 21.4.17-2            highly customizable text editor --
ii  xemacs21-nomule [ww 21.4.17-2            highly customizable text editor --
ii  xlibmesa-gl [libgl1 6.8.2.dfsg.1-7       Mesa 3D graphics library [X.Org]
ii  yacas-doc           1.0.57-2             Documentation for Yacas

yacas recommends no packages.

-- no debconf information
--- yacas-1.0.57.orig/src/errors.h
+++ yacas-1.0.57/src/errors.h
@@ -21,16 +21,16 @@
 void CheckArgType(LispInt aPredicate, LispInt aArgNr, LispPtr& aArguments,LispEnvironment& aEnvironment,
                   LispInt aError);
 
-#define CHK_ARG(_pred,_argnr) {if (!(int)(_pred)) CheckArgType(0,_argnr,aArguments,aEnvironment);}
+#define CHK_ARG(_pred,_argnr) {if (!(_pred)) CheckArgType(0,_argnr,aArguments,aEnvironment);}
 
-#define CHK_ARG_CORE(_pred,_argnr) {if (!(int)(_pred)) CheckArgType(0,_argnr,ARGUMENT(0),aEnvironment);}
+#define CHK_ARG_CORE(_pred,_argnr) {if (!(_pred)) CheckArgType(0,_argnr,ARGUMENT(0),aEnvironment);}
 
 
 #define TESTARGS(_n)  CheckNrArgs(_n,aArguments,aEnvironment)
 
-#define CHK(_pred,_err) {if (!(int)(_pred)) CheckFuncGeneric(0,_err,aArguments,aEnvironment);}
-#define CHK_CORE(_pred,_err) {if (!(int)(_pred)) CheckFuncGeneric(0,_err,ARGUMENT(0),aEnvironment);}
-#define CHK2(_pred,_err) {if (!(int)(_pred)) CheckFuncGeneric(0,_err,aEnvironment);}
+#define CHK(_pred,_err) {if (!(_pred)) CheckFuncGeneric(0,_err,aArguments,aEnvironment);}
+#define CHK_CORE(_pred,_err) {if (!(_pred)) CheckFuncGeneric(0,_err,ARGUMENT(0),aEnvironment);}
+#define CHK2(_pred,_err) {if (!(_pred)) CheckFuncGeneric(0,_err,aEnvironment);}
 
 #define CHK_ISLIST(_pred, _argnr) {if (!InternalIsList(_pred)) CheckArgType(0 ,_argnr, aArguments,aEnvironment,KLispErrNotList);}
 #define CHK_ISLIST_CORE(_pred, _argnr) {if (!InternalIsList(_pred)) CheckArgType(0 ,_argnr, ARGUMENT(0),aEnvironment,KLispErrNotList);}
only in patch2:
unchanged:
--- yacas-1.0.57.orig/src/obmalloc.cpp
+++ yacas-1.0.57/src/obmalloc.cpp
@@ -286,8 +286,10 @@
 #undef  ulong
 #define ulong			unsigned long	/* assuming >= 32 bits */
 
+#if 0
 #undef  off_t
 #define off_t 			uint	/* 16 bits <= off_t <= 64 bits */
+#endif
 
 /* When you say memory, my mind reasons in terms of (pointers to) blocks */
 typedef uchar block;

Reply via email to