Adding rawtherapee svn r25

svn path=/nixpkgs/trunk/; revision=19500
This commit is contained in:
Lluís Batlle i Rossell 2010-01-17 17:49:35 +00:00
parent 5c8a2bf152
commit 47735a06c3
3 changed files with 131 additions and 0 deletions

View file

@ -0,0 +1,41 @@
{ stdenv, fetchsvn, pkgconfig, gtk, cmake, pixman, libpthreadstubs, gtkmm, libXau,
libXdmcp, lcms, libiptcdata
}:
stdenv.mkDerivation rec {
name = "rawtherapee-svn-25";
src = fetchsvn {
url = "http://rawtherapee.googlecode.com/svn/trunk";
rev = 25;
sha256 = "09jg47rs09lly70x1zlrb3qcwi2rry1m7gjzs39iqzp53hi9j9mh";
};
buildInputs = [ pkgconfig gtk cmake pixman libpthreadstubs gtkmm libXau libXdmcp
lcms libiptcdata ];
# Rawtherapee died if the default setting for the icc directory pointed to a
# non existant place
patchPhase = ''
sed -i s,/usr/share/color/icc,/tmp/, rtgui/options.cc
'';
# Disable the use of the RAWZOR propietary libraries
cmakeFlags = [ "-DWITH_RAWZOR=OFF" ];
installPhase = ''
ensureDir $out/bin $out/lib
cp rtgui/rt $out/bin
# Weird kind of path reference
cp -r ../release/* $out/bin
cp rtengine/*.so $out/lib
'';
meta = {
description = "RAW converter and digital photo processing software";
homepage = http://www.rawtherapee.com/;
license = "GPLv3+";
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
};
}

View file

@ -0,0 +1,83 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,7 @@
cmake_minimum_required(VERSION 2.6)
+option (WITH_RAWZOR "Build with Rawzor support" ON)
+
add_subdirectory (rtexif)
add_subdirectory (rtengine)
add_subdirectory (rtgui)
--- a/rtengine/CMakeLists.txt
+++ b/rtengine/CMakeLists.txt
@@ -9,9 +9,13 @@
IF (WIN32)
SET (EXTRA_LIBDIR "${CMAKE_CURRENT_SOURCE_DIR}/../lib; ${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_win")
SET (EXTRA_INCDIR "${CMAKE_CURRENT_SOURCE_DIR}/../winclude; ${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_win")
- SET (EXTRA_LIB "ws2_32 ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libiptcdata.a ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libjpeg.a ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libpng.a ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libtiff.a ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libz.a ${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_win/rwz_sdk_s.a")
+ SET (EXTRA_LIB "ws2_32 ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libiptcdata.a ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libjpeg.a ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libpng.a ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libtiff.a ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libz.a")
+ if (WITH_RAWZOR)
ADD_DEFINITIONS (-DRAWZOR_SUPPORT)
+ SET (EXTRA_LIB "${EXTRA_LIB} ${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_win/rwz_sdk_s.a")
+ endif (WITH_RAWZOR)
ELSE (WIN32)
+ if (WITH_RAWZOR)
IF (CMAKE_SIZEOF_VOID_P EQUAL 4)
SET (EXTRA_INCDIR "${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_lin32")
SET (EXTRA_LIBDIR "${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_lin32")
@@ -19,10 +23,11 @@
SET (EXTRA_INCDIR "${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_lin64")
SET (EXTRA_LIBDIR "${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_lin64")
ENDIF (CMAKE_SIZEOF_VOID_P EQUAL 4)
- pkg_check_modules (IPTCDATA REQUIRED libiptcdata)
- pkg_check_modules (LCMS REQUIRED lcms)
SET (EXTRA_LIB "-lrwz_sdk")
ADD_DEFINITIONS (-DRAWZOR_SUPPORT)
+ endif (WITH_RAWZOR)
+ pkg_check_modules (IPTCDATA REQUIRED libiptcdata)
+ pkg_check_modules (LCMS REQUIRED lcms)
ENDIF (WIN32)
include_directories (${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../rtexif ${EXTRA_INCDIR} ${GTHREAD_INCLUDE_DIRS} ${GOBJECT_INCLUDE_DIRS} ${GLIB2_INCLUDE_DIRS} ${GLIBMM_INCLUDE_DIRS} ${IPTCDATA_INCLUDE_DIRS} ${LCMS_INCLUDE_DIRS})
--- a/rtengine/imagedata.cc
+++ b/rtengine/imagedata.cc
@@ -19,7 +19,9 @@
#include <imagedata.h>
#include <iptcpairs.h>
#include <glib/gstdio.h>
+#ifdef RAWZOR_SUPPORT
#include <rwz_sdk.h>
+#endif
using namespace rtengine;
--- a/rtengine/myfile.cc
+++ b/rtengine/myfile.cc
@@ -19,7 +19,9 @@
#include <myfile.h>
#include <cstdarg>
#include <glibmm.h>
+#ifdef RAWZOR_SUPPORT
#include <rwz_sdk.h>
+#endif
IMFILE* fopen (const char* fname) {
--- a/rtgui/CMakeLists.txt
+++ b/rtgui/CMakeLists.txt
@@ -75,6 +75,7 @@
if (NOT ZLIB_LIBRARIES)
message(SEND_ERROR "libz was not found!")
endif (NOT ZLIB_LIBRARIES)
+ if (WITH_RAWZOR)
IF (CMAKE_SIZEOF_VOID_P EQUAL 4)
SET (EXTRA_INCDIR "${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_lin32")
SET (EXTRA_LIBDIR "${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_lin32")
@@ -82,6 +83,7 @@
SET (EXTRA_INCDIR "${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_lin64")
SET (EXTRA_LIBDIR "${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_lin64")
ENDIF (CMAKE_SIZEOF_VOID_P EQUAL 4)
+ endif (WITH_RAWZOR)
include_directories (/usr/local/lib ${CMAKE_CURRENT_SOURCE_DIR}/../rtengine . ${CMAKE_CURRENT_SOURCE_DIR}/../rtexif ${EXTRA_INCDIR} ${GLIB2_INCLUDE_DIRS} ${GLIBMM_INCLUDE_DIRS}
${GTK_INCLUDE_DIRS} ${GTKMM_INCLUDE_DIRS} ${GIO_INCLUDE_DIRS} ${GIOMM_INCLUDE_DIRS} ${IPTCDATA_INCLUDE_DIRS} ${LCMS_INCLUDE_DIRS} ${GTHREAD_INCLUDE_DIRS} ${GOBJECT_INCLUDE_DIRS} )

View file

@ -7542,6 +7542,13 @@ let
libXtst xextproto libXi;
};
rawtherapee = import ../applications/graphics/rawtherapee {
inherit fetchsvn pkgconfig cmake lcms libiptcdata;
inherit (gtkLibs) gtk gtkmm;
inherit (xlibs) libXau libXdmcp pixman libpthreadstubs;
stdenv = overrideGCC stdenv gcc43_wrapper2;
};
rcs = import ../applications/version-management/rcs {
inherit fetchurl stdenv;
};