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;