forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
media-gfx/rawtherapee: Fix building with latest glibmm/libsigc++ (#56…
…8136), fix CVE-2015-3885 Package-Manager: portage-2.2.26
- Loading branch information
Showing
6 changed files
with
198 additions
and
0 deletions.
There are no files selected for viewing
28 changes: 28 additions & 0 deletions
28
media-gfx/rawtherapee/files/rawtherapee-4.2-CVE-2015-3885.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
Author: Philip Rinn <[email protected]> | ||
Description: Fix CVE-2015-3885 | ||
Source: https://github.com/rawstudio/rawstudio/commit/983bda1f0fa5fa86884381208274198a620f006e | ||
Last-update: 2015-05-14 | ||
--- a/rtengine/dcraw.c | ||
+++ b/rtengine/dcraw.c | ||
@@ -824,7 +824,8 @@ | ||
|
||
int CLASS ljpeg_start (struct jhead *jh, int info_only) | ||
{ | ||
- int c, tag, len; | ||
+ int c, tag; | ||
+ ushort len; | ||
uchar data[0x10000]; | ||
const uchar *dp; | ||
|
||
--- a/rtengine/dcraw.cc | ||
+++ b/rtengine/dcraw.cc | ||
@@ -787,7 +787,8 @@ | ||
|
||
int CLASS ljpeg_start (struct jhead *jh, int info_only) | ||
{ | ||
- int c, tag, len; | ||
+ int c, tag; | ||
+ ushort len; | ||
uchar data[0x10000]; | ||
const uchar *dp; | ||
|
14 changes: 14 additions & 0 deletions
14
media-gfx/rawtherapee/files/rawtherapee-4.2-build-cxx11-2.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
Author: Philip Rinn <[email protected]> | ||
Description: Fix build with C++11 as char is unsigned on some architectures | ||
Last-update: 2015-11-04 | ||
--- a/rtengine/dcraw.cc | ||
+++ b/rtengine/dcraw.cc | ||
@@ -2054,7 +2054,7 @@ | ||
|
||
void CLASS kodak_radc_load_raw() | ||
{ | ||
- static const char src[] = { | ||
+ static const signed char src[] = { | ||
1,1, 2,3, 3,4, 4,2, 5,7, 6,5, 7,6, 7,8, | ||
1,0, 2,1, 3,3, 4,4, 5,2, 6,7, 7,6, 8,5, 8,8, | ||
2,1, 2,3, 3,0, 3,2, 3,4, 4,6, 5,5, 6,7, 6,8, |
20 changes: 20 additions & 0 deletions
20
media-gfx/rawtherapee/files/rawtherapee-4.2-build-cxx11.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
Author: Philip Rinn <[email protected]> | ||
Description: Fix build with C++11 | ||
Last-update: 2015-11-03 | ||
--- a/rtengine/dcraw.cc | ||
+++ b/rtengine/dcraw.cc | ||
@@ -136,10 +136,10 @@ | ||
|
||
#define SQR(x) rtengine::SQR(x) | ||
#define ABS(x) (((int)(x) ^ ((int)(x) >> 31)) - ((int)(x) >> 31)) | ||
-#define MIN(a,b) rtengine::min(a,static_cast<typeof(a)>(b)) | ||
-#define MAX(a,b) rtengine::max(a,static_cast<typeof(a)>(b)) | ||
-#define LIM(x,min,max) rtengine::LIM(x,static_cast<typeof(x)>(min),static_cast<typeof(x)>(max)) | ||
-#define ULIM(x,y,z) rtengine::ULIM(x,static_cast<typeof(x)>(y),static_cast<typeof(x)>(z)) | ||
+#define MIN(a,b) rtengine::min(a,static_cast<__typeof__(a)>(b)) | ||
+#define MAX(a,b) rtengine::max(a,static_cast<__typeof__(a)>(b)) | ||
+#define LIM(x,min,max) rtengine::LIM(x,static_cast<__typeof__(x)>(min),static_cast<__typeof__(x)>(max)) | ||
+#define ULIM(x,y,z) rtengine::ULIM(x,static_cast<__typeof__(x)>(y),static_cast<typeof__(x)>(z)) | ||
#define CLIP(x) rtengine::CLIP(x) | ||
#define SWAP(a,b) { a=a+b; b=a-b; a=a-b; } | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
From 39ef59ddeb7679c71274b1da3faadd395b650c73 Mon Sep 17 00:00:00 2001 | ||
From: Adam Reichold <[email protected]> | ||
Date: Sun, 29 Nov 2015 11:48:30 +0100 | ||
Subject: [PATCH] Build with '-std=c++11' if libsigc++ version 2.5.1 is used as | ||
it does require it. | ||
|
||
--- | ||
CMakeLists.txt | 4 ++-- | ||
1 file changed, 2 insertions(+), 2 deletions(-) | ||
|
||
diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
index dd5fcbc..6153484 100644 | ||
--- a/CMakeLists.txt | ||
+++ b/CMakeLists.txt | ||
@@ -278,10 +278,10 @@ if (OPTION_OMP) | ||
endif (OPENMP_FOUND) | ||
endif (OPTION_OMP) | ||
|
||
-if(USE_EXPERIMENTAL_LANG_VERSIONS) | ||
+if(USE_EXPERIMENTAL_LANG_VERSIONS OR NOT (SIGC_VERSION VERSION_LESS 2.5.1)) | ||
SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu1x") | ||
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x") | ||
-endif (USE_EXPERIMENTAL_LANG_VERSIONS) | ||
+endif () | ||
|
||
# find out whether we are building out of source | ||
get_filename_component(ABS_SOURCE_DIR "${PROJECT_SOURCE_DIR}" ABSOLUTE) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
Author: Philip Rinn <[email protected]> | ||
Description: Fix build with sigc++ >= 2.5.2 | ||
Last-update: 2015-11-03 | ||
--- a/rtgui/adjuster.cc | ||
+++ b/rtgui/adjuster.cc | ||
@@ -17,7 +17,7 @@ | ||
* along with RawTherapee. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
#include "adjuster.h" | ||
-#include <sigc++/class_slot.h> | ||
+#include <sigc++/slot.h> | ||
#include <cmath> | ||
#include "multilangmgr.h" | ||
#include "../rtengine/rtengine.h" | ||
--- a/rtgui/thresholdadjuster.cc | ||
+++ b/rtgui/thresholdadjuster.cc | ||
@@ -17,7 +17,7 @@ | ||
* along with RawTherapee. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
#include "thresholdadjuster.h" | ||
-#include <sigc++/class_slot.h> | ||
+#include <sigc++/slot.h> | ||
#include <cmath> | ||
#include "multilangmgr.h" | ||
#include "../rtengine/rtengine.h" | ||
--- a/rtgui/preferences.cc | ||
+++ b/rtgui/preferences.cc | ||
@@ -16,7 +16,7 @@ | ||
* You should have received a copy of the GNU General Public License | ||
* along with RawTherapee. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
-#include <sigc++/class_slot.h> | ||
+#include <sigc++/slot.h> | ||
#include "preferences.h" | ||
#include "multilangmgr.h" | ||
#include "splash.h" | ||
--- a/rtgui/tonecurve.cc | ||
+++ b/rtgui/tonecurve.cc | ||
@@ -18,7 +18,7 @@ | ||
*/ | ||
#include "tonecurve.h" | ||
#include "adjuster.h" | ||
-#include <sigc++/class_slot.h> | ||
+#include <sigc++/slot.h> | ||
#include <iomanip> | ||
#include "ppversion.h" | ||
#include "edit.h" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
# Copyright 1999-2014 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
# $Id$ | ||
|
||
EAPI=5 | ||
|
||
inherit cmake-utils toolchain-funcs | ||
|
||
DESCRIPTION="A powerful cross-platform raw image processing program" | ||
HOMEPAGE="http://www.rawtherapee.com/" | ||
SRC_URI="http://rawtherapee.com/shared/source/${P}.tar.xz" | ||
|
||
LICENSE="GPL-3" | ||
SLOT="0" | ||
KEYWORDS="~amd64 ~x86" | ||
IUSE="bzip2 openmp" | ||
|
||
RDEPEND="bzip2? ( app-arch/bzip2 ) | ||
>=x11-libs/gtk+-2.24.18:2 | ||
>=dev-cpp/gtkmm-2.12:2.4 | ||
>=dev-cpp/glibmm-2.16:2 | ||
dev-libs/expat | ||
dev-libs/libsigc++:2 | ||
media-libs/libcanberra[gtk] | ||
media-libs/tiff | ||
media-libs/libpng | ||
media-libs/libiptcdata | ||
media-libs/lcms:2 | ||
sci-libs/fftw:3.0 | ||
sys-libs/zlib | ||
virtual/jpeg" | ||
DEPEND="${RDEPEND} | ||
app-arch/xz-utils | ||
virtual/pkgconfig" | ||
|
||
PATCHES=( | ||
# Upstream patches for fixing build with current libstdc++ | ||
# A newer snapshot/version will make this unneeded | ||
"${FILESDIR}"/${P}-cxx11.patch | ||
"${FILESDIR}"/${P}-CVE-2015-3885.patch | ||
"${FILESDIR}"/${P}-build-cxx11.patch | ||
"${FILESDIR}"/${P}-build-cxx11-2.patch | ||
"${FILESDIR}"/${P}-sigc26.patch | ||
) | ||
|
||
pkg_pretend() { | ||
if use openmp ; then | ||
tc-has-openmp || die "Please switch to an openmp compatible compiler" | ||
fi | ||
} | ||
|
||
src_configure() { | ||
local mycmakeargs=( | ||
$(cmake-utils_use openmp OPTION_OMP) | ||
$(cmake-utils_use_with bzip2 BZIP) | ||
-DDOCDIR=/usr/share/doc/${PF} | ||
-DCREDITSDIR=/usr/share/${PN} | ||
-DLICENCEDIR=/usr/share/${PN} | ||
-DCACHE_NAME_SUFFIX="" | ||
) | ||
cmake-utils_src_configure | ||
} |