gnu: Add steghide.

* gnu/packages/image.scm (steghide): New variable.
* gnu/packages/patches/steghide-fixes.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
master
Eric Bavier 2016-05-17 21:23:21 -05:00
parent b9b3440b1f
commit 1fa3e33604
No known key found for this signature in database
GPG Key ID: 1EBBD204781F962C
3 changed files with 108 additions and 0 deletions

View File

@ -795,6 +795,7 @@ dist_patch_DATA = \
%D%/packages/patches/slock-CVE-2016-6866.patch \ %D%/packages/patches/slock-CVE-2016-6866.patch \
%D%/packages/patches/slurm-configure-remove-nonfree-contribs.patch \ %D%/packages/patches/slurm-configure-remove-nonfree-contribs.patch \
%D%/packages/patches/soprano-find-clucene.patch \ %D%/packages/patches/soprano-find-clucene.patch \
%D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/superlu-dist-scotchmetis.patch \ %D%/packages/patches/superlu-dist-scotchmetis.patch \
%D%/packages/patches/synfig-build-fix.patch \ %D%/packages/patches/synfig-build-fix.patch \
%D%/packages/patches/t1lib-CVE-2010-2642.patch \ %D%/packages/patches/t1lib-CVE-2010-2642.patch \

View File

@ -9,6 +9,7 @@
;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -33,10 +34,12 @@
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript) #:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl) #:use-module (gnu packages gl)
#:use-module (gnu packages graphics) #:use-module (gnu packages graphics)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages mcrypt)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
@ -882,3 +885,36 @@ whether they look alike. It uses a computational model of the human visual
system to detect similarities. This allows it too see beyond irrelevant system to detect similarities. This allows it too see beyond irrelevant
differences in file encoding, image quality, and other small variations.") differences in file encoding, image quality, and other small variations.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public steghide
(package
(name "steghide")
(version "0.5.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/steghide/steghide/"
version "/steghide-" version ".tar.bz2"))
(sha256
(base32
"18bxlhbdc3zsmxj84i417xjh0q28kv26q449k23n0a72ldwziix2"))
(patches (list (search-patch "steghide-fixes.patch")))))
(build-system gnu-build-system)
(native-inputs
`(("gettext" ,gnu-gettext)
("libtool" ,libtool)
("perl" ,perl))) ;for tests
(inputs
`(("libmhash" ,libmhash)
("libmcrypt" ,libmcrypt)
("libjpeg" ,libjpeg)
("zlib" ,zlib)))
(arguments
`(#:make-flags '("CXXFLAGS=-fpermissive"))) ;required for MHashPP.cc
(home-page "http://steghide.sourceforge.net")
(synopsis "Image and audio steganography")
(description
"Steghide is a steganography program that is able to hide data in various
kinds of image- and audio-files. The color- respectivly sample-frequencies
are not changed thus making the embedding resistant against first-order
statistical tests.")
(license license:gpl2+)))

View File

@ -0,0 +1,71 @@
--- steghide-0.5.1/src/AuData.h
+++ steghide-0.5.1/src/AuData.h
@@ -26,22 +26,22 @@
// AuMuLawAudioData
typedef AudioDataImpl<AuMuLaw,BYTE> AuMuLawAudioData ;
-inline BYTE AuMuLawAudioData::readValue (BinaryIO* io) const { return (io->read8()) ; }
-inline void AuMuLawAudioData::writeValue (BinaryIO* io, BYTE v) const { io->write8(v) ; }
+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 ;
-inline SBYTE AuPCM8AudioData::readValue (BinaryIO* io) const { return ((SBYTE) io->read8()) ; }
-inline void AuPCM8AudioData::writeValue (BinaryIO* io, SBYTE v) const { io->write8((BYTE) v) ; }
+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 ;
-inline SWORD16 AuPCM16AudioData::readValue (BinaryIO* io) const { return ((SWORD16) io->read16_be()) ; }
-inline void AuPCM16AudioData::writeValue (BinaryIO* io, SWORD16 v) const { io->write16_be((UWORD16) v) ; }
+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 ;
-inline SWORD32 AuPCM32AudioData::readValue (BinaryIO* io) const { return ((SWORD32) io->read32_be()) ; }
-inline void AuPCM32AudioData::writeValue (BinaryIO* io, SWORD32 v) const { io->write32_be((UWORD32) v) ; }
+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
--- steghide-0.5.1/src/AuSampleValues.cc
+++ steghide-0.5.1/src/AuSampleValues.cc
@@ -21,17 +21,17 @@
#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 ;
--- steghide-0.5.1/src/Graph.cc
+++ steghide-0.5.1/src/Graph.cc
@@ -18,6 +18,7 @@
*
*/
+#include <climits>
#include <ctime>
#include <list>
#include <map>