Fix build with libsigc++ >= 2.6.

This commit is contained in:
ajacoutot 2015-09-29 09:02:21 +00:00
parent 528c763530
commit 74ff62992d
6 changed files with 93 additions and 12 deletions

View File

@ -1,11 +1,12 @@
# $OpenBSD: Makefile,v 1.12 2015/09/24 10:42:57 ajacoutot Exp $
# $OpenBSD: Makefile,v 1.13 2015/09/29 09:02:21 ajacoutot Exp $
BROKEN = needs patching to work with libsigc++ >=2.6.0
# XXX check if still needed at next update
CXXFLAGS += -std=c++11
COMMENT = RAW image processing application
DISTNAME = rawtherapee-4.1
REVISION = 1
REVISION = 2
CATEGORIES = graphics
@ -22,28 +23,30 @@ WANTLIB += canberra canberra-gtk expat fftw3f fontconfig freetype
WANTLIB += gdk-x11-2.0 gdk_pixbuf-2.0 gdkmm-2.4 gio-2.0 giomm-2.4
WANTLIB += glib-2.0 glibmm-2.4 gobject-2.0 gthread-2.0 gtk-x11-2.0
WANTLIB += gtkmm-2.4 iptcdata jpeg lcms2 m pango-1.0 pangocairo-1.0
WANTLIB += pangoft2-1.0 pangomm-1.4 png pthread sigc-2.0 stdc++
WANTLIB += tiff z
WANTLIB += pangoft2-1.0 pangomm-1.4 png pthread sigc-2.0 tiff z
MASTER_SITES = http://www.rawtherapee.com/shared/source/
EXTRACT_SUFX = .tar.xz
MODULES = devel/cmake \
devel/gettext
# c++11
MODULES += gcc4
MODGCC4_ARCHS = *
MODGCC4_LANGS = c++
RUN_DEPENDS = devel/desktop-file-utils \
x11/gtk+3,-guic
LIB_DEPENDS = audio/libcanberra,-gtk \
devel/libsigc++-2 \
graphics/libiptcdata \
graphics/lcms2 \
math/fftw3,float \
x11/gtk2mm
CONFIGURE_ARGS += -DBUILD_SHARED=ON \
CONFIGURE_ARGS = -DBUILD_SHARED=ON \
-DOPTION_OMP=OFF \
-DCMAKE_CXX_FLAGS_RELEASE=${CXXFLAGS}
#NO_TEST = Yes
.include <bsd.port.mk>

View File

@ -1,10 +1,32 @@
$OpenBSD: patch-rtengine_dcraw_cc,v 1.2 2015/06/02 14:22:08 kirby Exp $
$OpenBSD: patch-rtengine_dcraw_cc,v 1.3 2015/09/29 09:02:21 ajacoutot Exp $
Fix build with libsigc++ >= 2.6
dcraw input sanitization errors, CVE-2015-3885
Commit ID 0440e663ae7f44a63420460dcb07cfbe0ba8ea42
--- rtengine/dcraw.cc.orig Tue May 26 11:52:41 2015
+++ rtengine/dcraw.cc Tue May 26 11:54:01 2015
--- rtengine/dcraw.cc.orig Wed May 21 15:06:28 2014
+++ rtengine/dcraw.cc Tue Sep 29 10:21:32 2015
@@ -134,13 +134,13 @@ const float d65_white[3] = { 0.950456, 1, 1.088754 };
#define FORC4 FORC(4)
#define FORCC FORC(colors)
-#define SQR(x) rtengine::SQR(x)
+#define SQR(x) ((x)*(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 CLIP(x) rtengine::CLIP(x)
+#define MIN(a,b) ((a) < (b) ? (a) : (b))
+#define MAX(a,b) ((a) > (b) ? (a) : (b))
+#define LIM(x,min,max) MAX(min,MIN(x,max))
+#define ULIM(x,y,z) ((y) < (z) ? LIM(x,y,z) : LIM(x,z,y))
+#define CLIP(x) LIM((int)(x),0,65535)
#define SWAP(a,b) { a=a+b; b=a-b; a=a-b; }
/*
@@ -789,7 +789,8 @@ struct jhead {
int CLASS ljpeg_start (struct jhead *jh, int info_only)

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-rtgui_adjuster_cc,v 1.1 2015/09/29 09:02:21 ajacoutot Exp $
Fix build with libsigc++ >= 2.6
--- rtgui/adjuster.cc.orig Tue Sep 29 10:29:34 2015
+++ rtgui/adjuster.cc Tue Sep 29 10:29:37 2015
@@ -17,7 +17,6 @@
* along with RawTherapee. If not, see <http://www.gnu.org/licenses/>.
*/
#include "adjuster.h"
-#include <sigc++/class_slot.h>
#include <cmath>
#include "multilangmgr.h"
#include "../rtengine/rtengine.h"

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-rtgui_preferences_cc,v 1.1 2015/09/29 09:02:21 ajacoutot Exp $
Fix build with libsigc++ >= 2.6
--- rtgui/preferences.cc.orig Tue Sep 29 10:21:53 2015
+++ rtgui/preferences.cc Tue Sep 29 10:21:58 2015
@@ -16,7 +16,6 @@
* 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 "preferences.h"
#include "multilangmgr.h"
#include "splash.h"

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-rtgui_thresholdadjuster_cc,v 1.1 2015/09/29 09:02:21 ajacoutot Exp $
Fix build with libsigc++ >= 2.6
--- rtgui/thresholdadjuster.cc.orig Tue Sep 29 10:41:02 2015
+++ rtgui/thresholdadjuster.cc Tue Sep 29 10:41:07 2015
@@ -17,7 +17,6 @@
* along with RawTherapee. If not, see <http://www.gnu.org/licenses/>.
*/
#include "thresholdadjuster.h"
-#include <sigc++/class_slot.h>
#include <cmath>
#include "multilangmgr.h"
#include "../rtengine/rtengine.h"

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-rtgui_tonecurve_cc,v 1.1 2015/09/29 09:02:21 ajacoutot Exp $
Fix build with libsigc++ >= 2.6
--- rtgui/tonecurve.cc.orig Tue Sep 29 10:22:44 2015
+++ rtgui/tonecurve.cc Tue Sep 29 10:22:47 2015
@@ -18,7 +18,6 @@
*/
#include "tonecurve.h"
#include "adjuster.h"
-#include <sigc++/class_slot.h>
#include <iomanip>
#include "ppversion.h"
#include "edit.h"