steghide: borrowed from funtoo et al, updated to eapi5, dropped prepalldocs

This commit is contained in:
Zero_Chaos 2012-11-28 04:36:37 +00:00
parent e7d6e4ff12
commit 569de1a298
5 changed files with 491 additions and 0 deletions

View file

@ -0,0 +1,5 @@
AUX steghide-0.5.1-gcc34.patch 1853 SHA256 85babb8d6c975a5bf5a97d78bcb63f3d2e82874eef5dabfdd6a4b03ce031b726 SHA512 77a0ccfd183fdeb16e9ac198b42c5b54ca2b0f935f35a32731e5db2ef25bacb2eeb2a294b123a68def41f92c6833625dc65419d6b6366513c4331b925f2ec3cf WHIRLPOOL 13c179287e8efadb1d644fa4ff4ade129eceb6fbbb197c99a6d205222c78c6ca82b1ffb9207ca1809fc213b6da72bff0801a40dfbe5e52bcd479760cdae88fdd
AUX steghide-0.5.1-gcc4.patch 1969 SHA256 bcc1f7709c2c9912006a96ed701b1c6af919281c098fde1ec0bd74a013909ea7 SHA512 557f52b31c1e888d979c7dfabdad5960e7b8186ef76b9aeb6a1386c6c9aacf2b0132dca9b00806564a9ac4cf85fdc0c6d11d945e677d98a4ce3b5614ff453a3b WHIRLPOOL c0c5cbe54d52a87511595a0d34ec2f7354361ac62bb1bef712057490d56bf23603dab5934bb4a01a6af779e30e558d6db52a553d1ba713da4cd4196bd273feb1
AUX steghide-0.5.1-gcc43.patch 10444 SHA256 a2039ea4b4628c5738aca57549e97a81b41c9bf050ee5a0e9c61a0885853d5e4 SHA512 616d6d92d8edd3cfc6e6a9a5f164143d9341d1e5f5749280b2a2c47f7bb06e8b61d9cc5a6e87293b549b6343bfabacecd1b6bf28fa52069349e340d2ddea7abe WHIRLPOOL 7cccf286de9a1695e83d3b982db6fca1a6ade925390fb74ab9bb451469a19b32984760c7418f2c617239959752e44ef701943f3a5b5c96f107ef2fb462c6f011
DIST steghide-0.5.1.tar.bz2 392761 SHA256 a2c7f879a3e22860879889106cc49e486000653f81448264affa0fd616a47da1 SHA512 66271e820d7de6de5fe485ae92d1cc1360ad336138d4a5220cfda205cfa465e1ace74e1c832d9a43a71bbbca12426d20baf6433145470f9f32880ca5bf0fea5b WHIRLPOOL ad1dc0f5b1757e94455dd7497e0100cc671e991cd29a6330818250b12f072441190d30c43726f4e80897c90e01ba7a5e6275b117ae2804841f39bebf0bf65a5c
EBUILD steghide-0.5.1.ebuild 1116 SHA256 020c5a7f012a49db6985b71829369e9ac810cc56bea2cc84cc54c2ba6bef002e SHA512 c1e5192b5d24389aa6d019c2998568d355a54d1d0473e876480a9b3ea88ce7e2f3b5ca29299e7da6fc2a4b19c314e45d6bd0153606f51439f7b6de9804d8838c WHIRLPOOL ef8d3cf4c9ce76036a012b07a922a4f12797fcdc2a0ec84b06080c4f29d6a8a3f7f97ea0474c81a8a123f5666c92a05a5307a82b5cc30d472c92742abb3b7c9a

View file

@ -0,0 +1,46 @@
Index: src/Makefile.am
===================================================================
--- src/Makefile.am
+++ src/Makefile.am 2004-07-16 19:01:39.673947633 +0200
@@ -33,5 +33,5 @@
WavPCMSampleValue.cc error.cc main.cc msg.cc SMDConstructionHeuristic.cc
LIBS = @LIBINTL@ @LIBS@
localedir = $(datadir)/locale
-LIBTOOL = $(SHELL) libtool
+LIBTOOL = $(SHELL) libtool --tag=CXX
MAINTAINERCLEANFILES = Makefile.in
Index: src/AuSampleValues.cc
===================================================================
--- src/AuSampleValues.cc
+++ src/AuSampleValues.cc 2004-07-16 18:59:18.934578427 +0200
@@ -17,21 +17,21 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*/
-
+#include "common.h"
#include "AuSampleValues.h"
// AuMuLawSampleValue
-const BYTE AuMuLawSampleValue::MinValue = 0 ;
-const BYTE AuMuLawSampleValue::MaxValue = BYTE_MAX ;
+template<> const BYTE AuMuLawSampleValue::MinValue = 0 ;
+template<> const BYTE AuMuLawSampleValue::MaxValue = BYTE_MAX ;
// AuPCM8SampleValue
-const SBYTE AuPCM8SampleValue::MinValue = SBYTE_MIN ;
-const SBYTE AuPCM8SampleValue::MaxValue = SBYTE_MAX ;
+template<> const SBYTE AuPCM8SampleValue::MinValue = SBYTE_MIN ;
+template<> const SBYTE AuPCM8SampleValue::MaxValue = SBYTE_MAX ;
// AuPCM16SampleValue
-const SWORD16 AuPCM16SampleValue::MinValue = SWORD16_MIN ;
-const SWORD16 AuPCM16SampleValue::MaxValue = SWORD16_MAX ;
+template<> const SWORD16 AuPCM16SampleValue::MinValue = SWORD16_MIN ;
+template<> const SWORD16 AuPCM16SampleValue::MaxValue = SWORD16_MAX ;
// AuPCM32SampleValue
-const SWORD32 AuPCM32SampleValue::MinValue = SWORD32_MIN ;
-const SWORD32 AuPCM32SampleValue::MaxValue = SWORD32_MAX ;
+template<> const SWORD32 AuPCM32SampleValue::MinValue = SWORD32_MIN ;
+template<> const SWORD32 AuPCM32SampleValue::MaxValue = SWORD32_MAX ;

View file

@ -0,0 +1,46 @@
diff -Naur steghide-0.5.1-orig/src/AuData.h steghide-0.5.1/src/AuData.h
--- steghide-0.5.1-orig/src/AuData.h 2003-09-28 09:30:29.000000000 -0600
+++ steghide-0.5.1/src/AuData.h 2007-05-11 22:04:56.000000000 -0600
@@ -26,22 +26,30 @@
// AuMuLawAudioData
typedef AudioDataImpl<AuMuLaw,BYTE> AuMuLawAudioData ;
+template<>
inline BYTE AuMuLawAudioData::readValue (BinaryIO* io) const { return (io->read8()) ; }
+template<>
inline void AuMuLawAudioData::writeValue (BinaryIO* io, BYTE v) const { io->write8(v) ; }
// AuPCM8AudioData
typedef AudioDataImpl<AuPCM8,SBYTE> AuPCM8AudioData ;
+template<>
inline SBYTE AuPCM8AudioData::readValue (BinaryIO* io) const { return ((SBYTE) io->read8()) ; }
+template<>
inline void AuPCM8AudioData::writeValue (BinaryIO* io, SBYTE v) const { io->write8((BYTE) v) ; }
// AuPCM16AudioData
typedef AudioDataImpl<AuPCM16,SWORD16> AuPCM16AudioData ;
+template<>
inline SWORD16 AuPCM16AudioData::readValue (BinaryIO* io) const { return ((SWORD16) io->read16_be()) ; }
+template<>
inline void AuPCM16AudioData::writeValue (BinaryIO* io, SWORD16 v) const { io->write16_be((UWORD16) v) ; }
// AuPCM32AudioData
typedef AudioDataImpl<AuPCM32,SWORD32> AuPCM32AudioData ;
+template<>
inline SWORD32 AuPCM32AudioData::readValue (BinaryIO* io) const { return ((SWORD32) io->read32_be()) ; }
+template<>
inline void AuPCM32AudioData::writeValue (BinaryIO* io, SWORD32 v) const { io->write32_be((UWORD32) v) ; }
#endif // ndef SH_AUDATA_H
diff -Naur steghide-0.5.1-orig/src/MHashPP.cc steghide-0.5.1/src/MHashPP.cc
--- steghide-0.5.1-orig/src/MHashPP.cc 2003-10-05 04:17:50.000000000 -0600
+++ steghide-0.5.1/src/MHashPP.cc 2007-05-11 22:07:01.000000000 -0600
@@ -120,7 +120,7 @@
std::string MHashPP::getAlgorithmName (hashid id)
{
- char *name = mhash_get_hash_name (id) ;
+ char *name = (char *) mhash_get_hash_name (id) ;
std::string retval ;
if (name == NULL) {
retval = std::string ("<algorithm not found>") ;

View file

@ -0,0 +1,349 @@
--- 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

View file

@ -0,0 +1,45 @@
# Copyright 2012 Funtoo Technologies
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
inherit autotools eutils
DESCRIPTION="A steganography program which hides data in various media files"
HOMEPAGE="http://steghide.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="debug"
DEPEND=">=app-crypt/mhash-0.8.18-r1
>=dev-libs/libmcrypt-2.5.7
>=sys-libs/zlib-1.1.4-r2
virtual/jpeg"
RDEPEND="${DEPEND}"
src_prepare(){
#export CXXFLAGS="$CXXFLAGS -std=c++0x"
epatch "${FILESDIR}"/${P}-gcc34.patch \
"${FILESDIR}"/${P}-gcc4.patch \
"${FILESDIR}"/${P}-gcc43.patch
eautoreconf
}
src_configure() {
export CXXFLAGS="$CXXFLAGS -std=c++0x"
econf $(use_enable debug)
}
src_compile() {
export CXXFLAGS="$CXXFLAGS -std=c++0x"
local libtool
[[ ${CHOST} == *-darwin* ]] && libtool=$(type -P glibtool) || libtool=$(type -P libtool)
emake LIBTOOL="${libtool}" || die "emake failed"
}
src_install() {
emake DESTDIR="${ED}" docdir="${EPREFIX}/usr/share/doc/${PF}" install || die "emake install failed"
#prepalldocs
}