media-gfx/freepv: fix narrowing error, bug #594658
authorBernard Cafarelli <voyageur@gentoo.org>
Wed, 25 Jan 2017 15:03:57 +0000 (16:03 +0100)
committerBernard Cafarelli <voyageur@gentoo.org>
Wed, 25 Jan 2017 15:04:47 +0000 (16:04 +0100)
EAPI bump, clean ebuild and patches

Package-Manager: Portage-2.3.3, Repoman-2.3.1

media-gfx/freepv/files/freepv-0.3.0-gcc46.patch
media-gfx/freepv/files/freepv-0.3.0-libpng14.patch
media-gfx/freepv/files/freepv-0.3.0-stringh.patch
media-gfx/freepv/files/freepv-0.3.0-unsigned_short.patch [new file with mode: 0644]
media-gfx/freepv/freepv-0.3.0-r5.ebuild [new file with mode: 0644]

index 985d1443e7cedfaabb1af3b204a088bb2cdcc897..be6b13f522cbc0cd5e0d4ccf5ddd5737f0f6d8ef 100644 (file)
@@ -1,5 +1,5 @@
---- src/libfreepv/Action.h.orig        2011-06-16 17:37:55.705868856 +0200
-+++ src/libfreepv/Action.h     2011-06-16 17:38:19.792311535 +0200
+--- freepv-0.3.0.orig/src/libfreepv/Action.h   2011-06-16 17:37:55.705868856 +0200
++++ freepv-0.3.0/src/libfreepv/Action.h        2011-06-16 17:38:19.792311535 +0200
 @@ -24,6 +24,7 @@
  
  #ifndef FPV_ACTION_H
index e3b614f5749097c734e972a1780f3b9c0d10aac9..36fac0ff74190e8c62d4fe1ff72acf96415bbdc9 100644 (file)
@@ -1,5 +1,5 @@
---- src/libfreepv/pngReader.cpp
-+++ src/libfreepv/pngReader.cpp
+--- freepv-0.3.0.orig/src/libfreepv/pngReader.cpp
++++ freepv-0.3.0/src/libfreepv/pngReader.cpp
 @@ -135,7 +135,7 @@
      //Transfor grayscale images with less
      //than 8 bits to 8 bits
index 083585e5750c1287532f3120f160dc11b7590710..45987355a766a703e644c5eec4b61c1afce9220c 100644 (file)
@@ -1,5 +1,5 @@
---- src/libfreepv/Image.cpp.ORIG       2009-05-02 01:12:31.000000000 +0200
-+++ src/libfreepv/Image.cpp    2013-04-11 09:37:07.436358208 +0200
+--- freepv-0.3.0.orig/src/libfreepv/Image.cpp  2009-05-02 01:12:31.000000000 +0200
++++ freepv-0.3.0/src/libfreepv/Image.cpp       2013-04-11 09:37:07.436358208 +0200
 @@ -23,6 +23,7 @@
   */
  
diff --git a/media-gfx/freepv/files/freepv-0.3.0-unsigned_short.patch b/media-gfx/freepv/files/freepv-0.3.0-unsigned_short.patch
new file mode 100644 (file)
index 0000000..142b8ac
--- /dev/null
@@ -0,0 +1,47 @@
+diff -Naur freepv-0.3.0.orig/src/libfreepv/Utils/signatures.cpp freepv-0.3.0/src/libfreepv/Utils/signatures.cpp
+--- freepv-0.3.0.orig/src/libfreepv/Utils/signatures.cpp       2009-05-02 01:12:31.000000000 +0200
++++ freepv-0.3.0/src/libfreepv/Utils/signatures.cpp    2017-01-25 15:51:23.781294110 +0100
+@@ -30,34 +30,34 @@
+   //JPEG Signature
+   char jpg_size=1;
+-  short jpg_sig[]={0xD8FF};
++  unsigned short jpg_sig[]={0xD8FF};
+   //PNG Signature
+   char png_size=4;
+-  short png_sig[]={0x5089, 0x474E, 0x0A0D, 0x0A1A};
++  unsigned short png_sig[]={0x5089, 0x474E, 0x0A0D, 0x0A1A};
+   //XML Signature
+   char xml_size=3;
+-  short xml_sig[]={0x3F3C, 0x6D78, 0x206C};
++  unsigned short xml_sig[]={0x3F3C, 0x6D78, 0x206C};
+   //DCR Signature
+   char dcr_size=2;
+-  short dcr_sig[]={0x4658, 0x5249};
++  unsigned short dcr_sig[]={0x4658, 0x5249};
+   //MOV (MOOV atom) Signature
+   char mov_moov_size=4;
+-  short mov_moov_sig[]={0x0000, 0x0000, 0x6F6D, 0x766F};
++  unsigned short mov_moov_sig[]={0x0000, 0x0000, 0x6F6D, 0x766F};
+   //MOV (FTYP atom) Siganture
+   char mov_ftyp_size=4;
+-    short mov_ftyp_sig[]={0x0000, 0x0000, 0x7466,  0x7079};
++    unsigned short mov_ftyp_sig[]={0x0000, 0x0000, 0x7466,  0x7079};
+    
+   //Signatures to check
+   char sig_types_num=6;
+-    short* signature[]={jpg_sig,png_sig,xml_sig,dcr_sig,mov_moov_sig,mov_ftyp_sig};
++    unsigned short* signature[]={jpg_sig,png_sig,xml_sig,dcr_sig,mov_moov_sig,mov_ftyp_sig};
+     char sig_sizes[]={jpg_size,png_size,xml_size,dcr_size,mov_moov_size,mov_ftyp_size};
+   const char* CheckMagicBytes(const char* filename)
+   {
+     FILE * p_file;
+     p_file=fopen(filename, "rb");
+-    short number;
+-    short equal=0;
++    unsigned short number;
++    unsigned short equal=0;
+     char i, type; 
+     
+     if(p_file==NULL){
diff --git a/media-gfx/freepv/freepv-0.3.0-r5.ebuild b/media-gfx/freepv/freepv-0.3.0-r5.ebuild
new file mode 100644 (file)
index 0000000..bad2816
--- /dev/null
@@ -0,0 +1,44 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+inherit cmake-utils
+
+DESCRIPTION="Panorama viewer (Quicktime, PangeaVR, GLPanoView formats)"
+HOMEPAGE="http://freepv.sourceforge.net/"
+SRC_URI="mirror://sourceforge/freepv/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-libs/libxml2
+       media-libs/libpng:0=
+       media-libs/freeglut
+       sys-libs/zlib
+       virtual/jpeg:0
+       x11-libs/libXmu
+       x11-libs/libXt
+       x11-libs/libXxf86vm"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-gcc44.patch
+       "${FILESDIR}"/${P}-gcc46.patch
+       "${FILESDIR}"/${P}-noplugin.patch
+       "${FILESDIR}"/${P}-libpng14.patch
+       "${FILESDIR}"/${P}-stringh.patch
+       "${FILESDIR}"/${P}-unsigned_short.patch
+)
+
+src_prepare() {
+       sed -e 's:jpeg_mem_src:freepv_jpeg_mem_src:g' \
+               -i src/libfreepv/JpegReader.cpp || die
+
+       sed -e 's:^INSTALL(.*)::' \
+               -i src/libfreepv/CMakeLists.txt || die
+
+       default
+}