depot/third_party/nixpkgs/pkgs/tools/security/steghide/patches/steghide-0.5.1-gcc43.patch

350 lines
10 KiB
Diff
Raw Normal View History

--- steghide-0.5.1.old/configure.in 2003-10-15 09:48:52.000000000 +0200
+++ steghide-0.5.1.new/configure.in 2008-05-09 19:04:46.000000000 +0200
@@ -7,27 +7,26 @@
dnl checks for programs.
AC_PROG_CXX
AC_PROG_INSTALL
AC_PROG_AWK
AC_PROG_LN_S
+AC_CXX_COMPILE_STDCXX_0X
dnl GNU gettext
AC_CHECK_FUNCS(strchr)
AM_GNU_GETTEXT
AM_CONDITIONAL(USE_INTLDIR, test "$nls_cv_use_gnu_gettext" = yes)
dnl check if debugging support is requested
-AC_MSG_CHECKING([wether to enable debugging])
+AC_MSG_CHECKING([whether to enable debugging])
AC_ARG_ENABLE(debug,[ --enable-debug enable debugging],
if test "$enableval" = yes ;
then
AC_MSG_RESULT([yes])
AC_DEFINE(DEBUG,1,[enable code used only for debugging])
- CXXFLAGS="-O2 -Wall -g"
else
AC_MSG_RESULT([no])
- CXXFLAGS="-O2 -Wall"
fi
,
AC_MSG_RESULT([no])
CXXFLAGS="-O2 -Wall"
)
@@ -213,7 +212,18 @@
echo "libmhash can be downloaded from http://mhash.sourceforge.net/.";
echo "**********";
AC_MSG_ERROR([[libmhash not found]])
fi
+dnl Should we add std=c++0x?
+
+if test "$ac_cv_cxx_compile_cxx0x_cxx" = yes;
+then
+ CXXFLAGS="${CXXFLAGS} -std=c++0x -Wall -Wextra"
+else
+ CXXFLAGS="${CXXFLAGS} -Wall -Wextra"
+fi
+
+AC_SUBST(CXXFLAGS)
+
dnl create Makefiles
AC_OUTPUT([Makefile steghide.spec steghide.doxygen doc/Makefile po/Makefile.in src/Makefile tests/Makefile tests/data/Makefile m4/Makefile intl/Makefile])
--- steghide-0.5.1.old/m4/ac_cxx_compile_stdcxx_0x.m4 1970-01-01 01:00:00.000000000 +0100
+++ steghide-0.5.1.new/m4/ac_cxx_compile_stdcxx_0x.m4 2008-05-09 19:04:46.000000000 +0200
@@ -0,0 +1,107 @@
+# ===========================================================================
+# http://autoconf-archive.cryp.to/ac_cxx_compile_stdcxx_0x.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AC_CXX_COMPILE_STDCXX_0X
+#
+# DESCRIPTION
+#
+# Check for baseline language coverage in the compiler for the C++0x
+# standard.
+#
+# LAST MODIFICATION
+#
+# 2008-04-17
+#
+# COPYLEFT
+#
+# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com>
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved.
+
+AC_DEFUN([AC_CXX_COMPILE_STDCXX_0X], [
+ AC_CACHE_CHECK(if g++ supports C++0x features without additional flags,
+ ac_cv_cxx_compile_cxx0x_native,
+ [AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_TRY_COMPILE([
+ template <typename T>
+ struct check
+ {
+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
+ };
+
+ typedef check<check<bool>> right_angle_brackets;
+
+ int a;
+ decltype(a) b;
+
+ typedef check<int> check_type;
+ check_type c;
+ check_type&& cr = c;],,
+ ac_cv_cxx_compile_cxx0x_native=yes, ac_cv_cxx_compile_cxx0x_native=no)
+ AC_LANG_RESTORE
+ ])
+
+ AC_CACHE_CHECK(if g++ supports C++0x features with -std=c++0x,
+ ac_cv_cxx_compile_cxx0x_cxx,
+ [AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -std=c++0x"
+ AC_TRY_COMPILE([
+ template <typename T>
+ struct check
+ {
+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
+ };
+
+ typedef check<check<bool>> right_angle_brackets;
+
+ int a;
+ decltype(a) b;
+
+ typedef check<int> check_type;
+ check_type c;
+ check_type&& cr = c;],,
+ ac_cv_cxx_compile_cxx0x_cxx=yes, ac_cv_cxx_compile_cxx0x_cxx=no)
+ CXXFLAGS="$ac_save_CXXFLAGS"
+ AC_LANG_RESTORE
+ ])
+
+ AC_CACHE_CHECK(if g++ supports C++0x features with -std=gnu++0x,
+ ac_cv_cxx_compile_cxx0x_gxx,
+ [AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -std=gnu++0x"
+ AC_TRY_COMPILE([
+ template <typename T>
+ struct check
+ {
+ static_assert(sizeof(int) <= sizeof(T), "not big enough");
+ };
+
+ typedef check<check<bool>> right_angle_brackets;
+
+ int a;
+ decltype(a) b;
+
+ typedef check<int> check_type;
+ check_type c;
+ check_type&& cr = c;],,
+ ac_cv_cxx_compile_cxx0x_gxx=yes, ac_cv_cxx_compile_cxx0x_gxx=no)
+ CXXFLAGS="$ac_save_CXXFLAGS"
+ AC_LANG_RESTORE
+ ])
+
+ if test "$ac_cv_cxx_compile_cxx0x_native" = yes ||
+ test "$ac_cv_cxx_compile_cxx0x_cxx" = yes ||
+ test "$ac_cv_cxx_compile_cxx0x_gxx" = yes; then
+ AC_DEFINE(HAVE_STDCXX_0X,,[Define if g++ supports C++0x features. ])
+ fi
+])
--- steghide-0.5.1.old/src/Arguments.cc 2003-10-11 23:25:04.000000000 +0200
+++ steghide-0.5.1.new/src/Arguments.cc 2008-05-09 19:04:44.000000000 +0200
@@ -26,10 +26,12 @@
#include "Terminal.h"
#include "common.h"
#include "error.h"
#include "msg.h"
+float Arguments::Default_Goal = 100.0 ;
+
// the global Arguments object
Arguments Args ;
Arguments::Arguments (int argc, char* argv[])
{
--- steghide-0.5.1.old/src/Arguments.h 2003-10-11 23:23:57.000000000 +0200
+++ steghide-0.5.1.new/src/Arguments.h 2008-05-09 19:04:44.000000000 +0200
@@ -98,11 +98,11 @@
static const bool Default_EmbedEmbFn = true ;
static const bool Default_Force = false ;
static const VERBOSITY Default_Verbosity = NORMAL ;
static const unsigned long Default_Radius = 0 ; // there is no default radius for all file formats
static const unsigned int Max_Algorithm = 3 ;
- static const float Default_Goal = 100.0 ;
+ static float Default_Goal ;
static const DEBUGCOMMAND Default_DebugCommand = NONE ;
static const bool Default_Check = false ;
static const unsigned int Default_DebugLevel = 0 ;
static const unsigned int Default_GmlGraphRecDepth = 0 ;
static const unsigned int Default_GmlStartVertex = 0 ;
--- steghide-0.5.1.old/src/EncryptionMode.h 2003-09-28 17:30:30.000000000 +0200
+++ steghide-0.5.1.new/src/EncryptionMode.h 2008-05-09 19:04:46.000000000 +0200
@@ -69,11 +69,11 @@
static const unsigned int NumValues = 8 ;
IRep Value ;
typedef struct struct_Translation {
IRep irep ;
- char* srep ;
+ const char* srep ;
} Translation ;
static const Translation Translations[] ;
} ;
#endif // ndef SH_ENCMODE_H
--- steghide-0.5.1.old/src/Graph.cc 2003-10-11 23:54:26.000000000 +0200
+++ steghide-0.5.1.new/src/Graph.cc 2008-05-09 19:04:46.000000000 +0200
@@ -20,10 +20,12 @@
#include <ctime>
#include <list>
#include <map>
#include <vector>
+#include <algorithm>
+#include <climits>
#include "BitString.h"
#include "CvrStgFile.h"
#include "Edge.h"
#include "Graph.h"
--- steghide-0.5.1.old/src/Matching.cc 2003-10-11 23:54:30.000000000 +0200
+++ steghide-0.5.1.new/src/Matching.cc 2008-05-09 19:04:46.000000000 +0200
@@ -16,10 +16,11 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*/
+#include <algorithm>
#include "Edge.h"
#include "Graph.h"
#include "Matching.h"
#include "ProgressOutput.h"
#include "common.h"
--- steghide-0.5.1.old/src/ProgressOutput.cc 2003-10-11 11:20:51.000000000 +0200
+++ steghide-0.5.1.new/src/ProgressOutput.cc 2008-05-09 19:04:44.000000000 +0200
@@ -21,10 +21,12 @@
#include <cmath>
#include "ProgressOutput.h"
#include "common.h"
+float ProgressOutput::NoAvgWeight = 1.0 ;
+
ProgressOutput::ProgressOutput ()
: Message("__nomessage__")
{
LastUpdate = time(NULL) - 1 ; // -1 to ensure that message is written first time
}
--- steghide-0.5.1.old/src/ProgressOutput.h 2003-09-28 17:30:30.000000000 +0200
+++ steghide-0.5.1.new/src/ProgressOutput.h 2008-05-09 19:04:44.000000000 +0200
@@ -60,13 +60,13 @@
/**
* update the output appending rate, [average edge weight], "done" and a newline
* \param rate the rate of matched vertices
* \param avgweight the average edge weight (is not printed if not given)
**/
- void done (float rate, float avgweight = NoAvgWeight) const ;
+ void done (float rate, float avgweight = 1.0) const ;
- static const float NoAvgWeight = -1.0 ;
+ static float NoAvgWeight ;
protected:
std::string vcompose (const char *msgfmt, va_list ap) const ;
private:
--- steghide-0.5.1.old/src/SMDConstructionHeuristic.cc 2003-09-28 17:30:30.000000000 +0200
+++ steghide-0.5.1.new/src/SMDConstructionHeuristic.cc 2008-05-09 19:04:46.000000000 +0200
@@ -16,10 +16,12 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*/
+#include <algorithm>
+
#include "Edge.h"
#include "Graph.h"
#include "Matching.h"
#include "SMDConstructionHeuristic.h"
#include "Vertex.h"
--- steghide-0.5.1.old/src/WavFile.cc 2003-09-28 17:30:30.000000000 +0200
+++ steghide-0.5.1.new/src/WavFile.cc 2008-05-09 19:04:46.000000000 +0200
@@ -19,10 +19,11 @@
*/
#include <cstdio>
#include <cstdlib>
#include <cstring>
+#include <algorithm>
#include "CvrStgFile.h"
#include "DFSAPHeuristic.h"
#include "SampleValueAdjacencyList.h"
#include "SMDConstructionHeuristic.h"
--- steghide-0.5.1.old/src/wrapper_hash_map.h 2003-09-28 17:30:30.000000000 +0200
+++ steghide-0.5.1.new/src/wrapper_hash_map.h 2008-05-09 19:04:46.000000000 +0200
@@ -25,17 +25,21 @@
#ifdef __GNUC__
# if __GNUC__ < 3
# include <hash_map.h>
namespace sgi { using ::hash ; using ::hash_map ; } ;
-# else
+# elif __GNUC__ == 3 || ( __GNUC__ == 4 && __GNUC_MINOR__ < 3 )
# include <ext/hash_map>
-# if __GNUC_MINOR__ == 0
+# if __GNUC__ == 3 && __GNUC_MINOR__ == 0
namespace sgi = std ; // GCC 3.0
# else
namespace sgi = __gnu_cxx ; // GCC 3.1 and later
# endif
+# else
+# include <unordered_map>
+# define hash_map unordered_map
+ namespace sgi = std ;
# endif
#else
namespace sgi = std ;
#endif
--- steghide-0.5.1.old/src/wrapper_hash_set.h 2003-09-28 17:30:30.000000000 +0200
+++ steghide-0.5.1.new/src/wrapper_hash_set.h 2008-05-09 19:04:46.000000000 +0200
@@ -26,17 +26,21 @@
#ifdef __GNUC__
# if __GNUC__ < 3
# include <hash_set.h>
namespace sgi { using ::hash ; using ::hash_set ; } ;
-# else
+# elif __GNUC__ == 3 || ( __GNUC__ == 4 && __GNUC_MINOR__ < 3 )
# include <ext/hash_set>
-# if __GNUC_MINOR__ == 0
+# if __GNUC__ == 3 && __GNUC_MINOR__ == 0
namespace sgi = std ; // GCC 3.0
# else
namespace sgi = ::__gnu_cxx ; // GCC 3.1 and later
# endif
+# else
+# include <unordered_set>
+# define hash_set unordered_set
+ namespace sgi = std ;
# endif
#else
namespace sgi = std ;
#endif