summaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorjakllsch <jakllsch>2011-07-26 21:37:47 +0000
committerjakllsch <jakllsch>2011-07-26 21:37:47 +0000
commite39c49cd814ecb4136569fe34cec93e5cdc14c01 (patch)
tree8717d7ce47a651361e6316e1a427f68e04f81c6e /graphics
parentf9db2f9736bfbb2ab1f9b03cd258dbf89d5dcb63 (diff)
downloadpkgsrc-e39c49cd814ecb4136569fe34cec93e5cdc14c01.tar.gz
Add darktable package.
darktable is a photography workflow application: a virtual lighttable and darkroom for photographers: it manages your digital negatives in a database and lets you view them through a zoomable lighttable. it also enables you to develop raw images and enhance them.
Diffstat (limited to 'graphics')
-rw-r--r--graphics/darktable/DESCR4
-rw-r--r--graphics/darktable/Makefile70
-rw-r--r--graphics/darktable/PLIST158
-rw-r--r--graphics/darktable/distinfo11
-rw-r--r--graphics/darktable/patches/patch-cmake_modules_FindGTK2.cmake16
-rw-r--r--graphics/darktable/patches/patch-data_darktable-faster12
-rw-r--r--graphics/darktable/patches/patch-src_CMakeLists.txt41
-rw-r--r--graphics/darktable/patches/patch-src_LibRaw_libraw_libraw__alloc.h14
-rw-r--r--graphics/darktable/patches/patch-src_imageio_format_png.c14
-rw-r--r--graphics/darktable/patches/patch-src_rawspeed_RawSpeed_Common.h16
10 files changed, 356 insertions, 0 deletions
diff --git a/graphics/darktable/DESCR b/graphics/darktable/DESCR
new file mode 100644
index 00000000000..1e9ebea7f42
--- /dev/null
+++ b/graphics/darktable/DESCR
@@ -0,0 +1,4 @@
+darktable is a photography workflow application: a virtual lighttable
+and darkroom for photographers: it manages your digital negatives
+in a database and lets you view them through a zoomable lighttable.
+it also enables you to develop raw images and enhance them.
diff --git a/graphics/darktable/Makefile b/graphics/darktable/Makefile
new file mode 100644
index 00000000000..43ff65a952a
--- /dev/null
+++ b/graphics/darktable/Makefile
@@ -0,0 +1,70 @@
+# $NetBSD: Makefile,v 1.1.1.1 2011/07/26 21:37:47 jakllsch Exp $
+
+DISTNAME= darktable-0.9
+CATEGORIES= misc
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=darktable/}
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= http://darktable.sourceforge.net/
+COMMENT= Photography workflow application
+LICENSE= gnu-gpl-v3
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+USE_CMAKE= yes
+USE_LANGUAGES= c c++
+USE_PKGLOCALEDIR= yes
+USE_TOOLS+= gmake msgfmt pkg-config
+
+CMAKE_ARGS+= -DGTHREAD_INCLUDE_DIR:PATH=${BUILDLINK_PREFIX.glib2}/include
+CMAKE_ARGS+= -DGMODULE_INCLUDE_DIR:PATH=${BUILDLINK_PREFIX.glib2}/include
+CMAKE_ARGS+= -DUSE_OPENMP=OFF
+CMAKE_ARGS+= -DUSE_OPENCL=OFF
+
+CMAKE_ARGS+= -DCMAKE_BUILD_TYPE=Release
+CMAKE_ARGS+= -DBINARY_PACKAGE_BUILD=Yes
+CMAKE_ARGS+= -Wno-dev
+
+CONFIGURE_DIRS= pkgsrc_build
+CMAKE_ARG_PATH= ..
+LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/darktable
+
+# NetBSD 6 libm is the first with exp2f(3)
+#NOT_FOR_PLATFORM= NetBSD-4*-* NetBSD-5.[0-8]*-*
+
+.include "../../mk/bsd.fast.prefs.mk"
+.if ${MACHINE_ARCH} == "i386"
+# SSE alignment issues
+GCC_REQD= 4.2
+CFLAGS+= -mstackrealign
+.endif
+
+# for some reason msgfmt can't handle these two
+post-extract:
+ ${RM} ${WRKSRC}/po/cs.po
+ ${RM} ${WRKSRC}/po/es.po
+
+pre-configure:
+ ${MKDIR} ${WRKSRC}/pkgsrc_build
+
+.include "../../databases/sqlite3/buildlink3.mk"
+.include "../../devel/GConf/buildlink3.mk"
+.include "../../devel/SDL/buildlink3.mk"
+.include "../../devel/gettext-lib/buildlink3.mk"
+.include "../../devel/glib2/buildlink3.mk"
+.include "../../devel/libgphoto2/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../graphics/exiv2/buildlink3.mk"
+.include "../../graphics/gegl/buildlink3.mk"
+.include "../../graphics/lensfun/buildlink3.mk"
+.include "../../graphics/lcms2/buildlink3.mk"
+.include "../../graphics/openexr/buildlink3.mk"
+.include "../../graphics/png/buildlink3.mk"
+.include "../../graphics/tiff/buildlink3.mk"
+.include "../../security/gnome-keyring/buildlink3.mk"
+.include "../../sysutils/desktop-file-utils/desktopdb.mk"
+.include "../../textproc/libxml2/buildlink3.mk"
+.include "../../www/curl/buildlink3.mk"
+.include "../../x11/gtk2/buildlink3.mk"
+.include "../../mk/jpeg.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/graphics/darktable/PLIST b/graphics/darktable/PLIST
new file mode 100644
index 00000000000..ec7babd4f18
--- /dev/null
+++ b/graphics/darktable/PLIST
@@ -0,0 +1,158 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2011/07/26 21:37:47 jakllsch Exp $
+bin/darktable
+bin/darktable-cltest
+bin/darktable-faster
+bin/darktable-viewer
+lib/darktable/libdarktable.so
+lib/darktable/plugins/imageio/format/libcopy.so
+lib/darktable/plugins/imageio/format/libexr.so
+lib/darktable/plugins/imageio/format/libjpeg.so
+lib/darktable/plugins/imageio/format/libpfm.so
+lib/darktable/plugins/imageio/format/libpng.so
+lib/darktable/plugins/imageio/format/libppm.so
+lib/darktable/plugins/imageio/format/libtiff.so
+lib/darktable/plugins/imageio/storage/libdisk.so
+lib/darktable/plugins/imageio/storage/libemail.so
+lib/darktable/plugins/imageio/storage/libgallery.so
+lib/darktable/plugins/imageio/storage/libpicasa.so
+lib/darktable/plugins/libatrous.so
+lib/darktable/plugins/libbasecurve.so
+lib/darktable/plugins/libbilateral.so
+lib/darktable/plugins/libbloom.so
+lib/darktable/plugins/libborders.so
+lib/darktable/plugins/libcacorrect.so
+lib/darktable/plugins/libchannelmixer.so
+lib/darktable/plugins/libclahe.so
+lib/darktable/plugins/libclipping.so
+lib/darktable/plugins/libcolorcontrast.so
+lib/darktable/plugins/libcolorcorrection.so
+lib/darktable/plugins/libcolorin.so
+lib/darktable/plugins/libcolorout.so
+lib/darktable/plugins/libcolorzones.so
+lib/darktable/plugins/libdemosaic.so
+lib/darktable/plugins/libequalizer.so
+lib/darktable/plugins/libexposure.so
+lib/darktable/plugins/libgamma.so
+lib/darktable/plugins/libgraduatednd.so
+lib/darktable/plugins/libgrain.so
+lib/darktable/plugins/libhighlights.so
+lib/darktable/plugins/libhighpass.so
+lib/darktable/plugins/libhotpixels.so
+lib/darktable/plugins/liblens.so
+lib/darktable/plugins/liblowlight.so
+lib/darktable/plugins/libmonochrome.so
+lib/darktable/plugins/libnlmeans.so
+lib/darktable/plugins/liboverexposed.so
+lib/darktable/plugins/libprofile_gamma.so
+lib/darktable/plugins/librawdenoise.so
+lib/darktable/plugins/librelight.so
+lib/darktable/plugins/libsharpen.so
+lib/darktable/plugins/libsoften.so
+lib/darktable/plugins/libsplittoning.so
+lib/darktable/plugins/libspots.so
+lib/darktable/plugins/libtemperature.so
+lib/darktable/plugins/libtonecurve.so
+lib/darktable/plugins/libtonemap.so
+lib/darktable/plugins/libvelvia.so
+lib/darktable/plugins/libvignette.so
+lib/darktable/plugins/libwatermark.so
+lib/darktable/plugins/libzonesystem.so
+lib/darktable/plugins/lighttable/libcamera.so
+lib/darktable/plugins/lighttable/libcapture.so
+lib/darktable/plugins/lighttable/libcollect.so
+lib/darktable/plugins/lighttable/libcopy_history.so
+lib/darktable/plugins/lighttable/libexport.so
+lib/darktable/plugins/lighttable/libimage.so
+lib/darktable/plugins/lighttable/libmetadata.so
+lib/darktable/plugins/lighttable/librecentcollect.so
+lib/darktable/plugins/lighttable/libselect.so
+lib/darktable/plugins/lighttable/libstyles.so
+lib/darktable/plugins/lighttable/libtagging.so
+lib/darktable/views/libcapture.so
+lib/darktable/views/libdarkroom.so
+lib/darktable/views/libfilmstrip.so
+lib/darktable/views/liblighttable.so
+share/applications/darktable.desktop
+share/darktable/darktable.gtkrc
+share/darktable/kernels/atrous.cl
+share/darktable/kernels/basic.cl
+share/darktable/kernels/blendop.cl
+share/darktable/kernels/demosaic_ppg.cl
+share/darktable/kernels/highpass.cl
+share/darktable/kernels/nlmeans.cl
+share/darktable/kernels/programs.conf
+share/darktable/pixmaps/plugins/darkroom/anlfyeni.png
+share/darktable/pixmaps/plugins/darkroom/atrous.png
+share/darktable/pixmaps/plugins/darkroom/basecurve.png
+share/darktable/pixmaps/plugins/darkroom/bloom.png
+share/darktable/pixmaps/plugins/darkroom/borders.png
+share/darktable/pixmaps/plugins/darkroom/cacorrect.png
+share/darktable/pixmaps/plugins/darkroom/channelmixer.png
+share/darktable/pixmaps/plugins/darkroom/clahe.png
+share/darktable/pixmaps/plugins/darkroom/clipping.png
+share/darktable/pixmaps/plugins/darkroom/colorcorrection.png
+share/darktable/pixmaps/plugins/darkroom/colorin.png
+share/darktable/pixmaps/plugins/darkroom/colorout.png
+share/darktable/pixmaps/plugins/darkroom/colortransfer.png
+share/darktable/pixmaps/plugins/darkroom/colorzones.png
+share/darktable/pixmaps/plugins/darkroom/demosaic.png
+share/darktable/pixmaps/plugins/darkroom/exposure.png
+share/darktable/pixmaps/plugins/darkroom/graduatednd.png
+share/darktable/pixmaps/plugins/darkroom/grain.png
+share/darktable/pixmaps/plugins/darkroom/highlights.png
+share/darktable/pixmaps/plugins/darkroom/highpass.png
+share/darktable/pixmaps/plugins/darkroom/hotpixels.png
+share/darktable/pixmaps/plugins/darkroom/lens.png
+share/darktable/pixmaps/plugins/darkroom/localc.png
+share/darktable/pixmaps/plugins/darkroom/lowlight.png
+share/darktable/pixmaps/plugins/darkroom/monochrome.png
+share/darktable/pixmaps/plugins/darkroom/nlmeans.png
+share/darktable/pixmaps/plugins/darkroom/overexposed.png
+share/darktable/pixmaps/plugins/darkroom/profile_gamma.png
+share/darktable/pixmaps/plugins/darkroom/rawdenoise.png
+share/darktable/pixmaps/plugins/darkroom/rawimport.png
+share/darktable/pixmaps/plugins/darkroom/relight.png
+share/darktable/pixmaps/plugins/darkroom/sharpen.png
+share/darktable/pixmaps/plugins/darkroom/soften.png
+share/darktable/pixmaps/plugins/darkroom/splittoning.png
+share/darktable/pixmaps/plugins/darkroom/spots.png
+share/darktable/pixmaps/plugins/darkroom/stuckpixels.png
+share/darktable/pixmaps/plugins/darkroom/temperature.png
+share/darktable/pixmaps/plugins/darkroom/template.png
+share/darktable/pixmaps/plugins/darkroom/tonecurve.png
+share/darktable/pixmaps/plugins/darkroom/tonemap.png
+share/darktable/pixmaps/plugins/darkroom/velvia.png
+share/darktable/pixmaps/plugins/darkroom/vignette.png
+share/darktable/pixmaps/plugins/darkroom/watermark.png
+share/darktable/pixmaps/plugins/darkroom/zonesystem.png
+share/darktable/rawspeed/cameras.xml
+share/darktable/rawspeed/showcameras.xsl
+share/darktable/style/favicon.ico
+share/darktable/style/style.css
+share/darktable/watermarks/darktable.svg
+share/darktable/watermarks/promo.svg
+share/doc/darktable/AUTHORS
+share/doc/darktable/LICENSE
+share/doc/darktable/README
+share/doc/darktable/TRANSLATORS
+share/icons/hicolor/16x16/apps/darktable.png
+share/icons/hicolor/22x22/apps/darktable.png
+share/icons/hicolor/32x32/apps/darktable.png
+share/icons/hicolor/48x48/apps/darktable.png
+share/icons/hicolor/64x64/apps/darktable.png
+share/icons/hicolor/scalable/apps/darktable.svg
+share/locale/ca/LC_MESSAGES/darktable.mo
+share/locale/de/LC_MESSAGES/darktable.mo
+share/locale/fi/LC_MESSAGES/darktable.mo
+share/locale/fr/LC_MESSAGES/darktable.mo
+share/locale/gl/LC_MESSAGES/darktable.mo
+share/locale/it/LC_MESSAGES/darktable.mo
+share/locale/ja/LC_MESSAGES/darktable.mo
+share/locale/nl/LC_MESSAGES/darktable.mo
+share/locale/pl/LC_MESSAGES/darktable.mo
+share/locale/ro/LC_MESSAGES/darktable.mo
+share/locale/ru/LC_MESSAGES/darktable.mo
+share/locale/sq/LC_MESSAGES/darktable.mo
+share/locale/sv/LC_MESSAGES/darktable.mo
+share/locale/th/LC_MESSAGES/darktable.mo
+man/man1/darktable.1
diff --git a/graphics/darktable/distinfo b/graphics/darktable/distinfo
new file mode 100644
index 00000000000..9326cf36986
--- /dev/null
+++ b/graphics/darktable/distinfo
@@ -0,0 +1,11 @@
+$NetBSD: distinfo,v 1.1.1.1 2011/07/26 21:37:47 jakllsch Exp $
+
+SHA1 (darktable-0.9.tar.gz) = 86a9830bf71bf63abbcc7e426c62f582e5866c2b
+RMD160 (darktable-0.9.tar.gz) = c79c8707196a113f9d71a6f52ed68d753d8ff537
+Size (darktable-0.9.tar.gz) = 2187367 bytes
+SHA1 (patch-cmake_modules_FindGTK2.cmake) = 1311e915f6af6a481c89b25945eef02180bd4942
+SHA1 (patch-data_darktable-faster) = e11ccd8f563bdd8d0216b5fe7baa3f35e089bf4e
+SHA1 (patch-src_CMakeLists.txt) = 22a9612ab668007bf7f3fcb4301661c57665cf02
+SHA1 (patch-src_LibRaw_libraw_libraw__alloc.h) = f4d3cd8c1b24c0a900b2397aba73093a347d4201
+SHA1 (patch-src_imageio_format_png.c) = 9167d627c71a59b7e29fdb4451d2dd080473c8dc
+SHA1 (patch-src_rawspeed_RawSpeed_Common.h) = 34c1b1ea45a2716fa7308ada9facf93245b55e72
diff --git a/graphics/darktable/patches/patch-cmake_modules_FindGTK2.cmake b/graphics/darktable/patches/patch-cmake_modules_FindGTK2.cmake
new file mode 100644
index 00000000000..ca950340daa
--- /dev/null
+++ b/graphics/darktable/patches/patch-cmake_modules_FindGTK2.cmake
@@ -0,0 +1,16 @@
+$NetBSD: patch-cmake_modules_FindGTK2.cmake,v 1.1.1.1 2011/07/26 21:37:47 jakllsch Exp $
+
+Look for GTK where we might find it. Should honor ${PREFIX} someday.
+
+--- cmake/modules/FindGTK2.cmake.orig 2011-07-02 03:15:32.000000000 +0000
++++ cmake/modules/FindGTK2.cmake
+@@ -182,6 +182,9 @@ function(_GTK2_FIND_INCLUDE_DIR _var _hd
+ /usr/openwin/lib
+ /sw/include
+ /sw/lib
++ /usr/pkg/include/glib
++ /usr/pkg/include
++ /usr/pkg/lib
+ $ENV{GTKMM_BASEPATH}/include
+ $ENV{GTKMM_BASEPATH}/lib
+ [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]/include
diff --git a/graphics/darktable/patches/patch-data_darktable-faster b/graphics/darktable/patches/patch-data_darktable-faster
new file mode 100644
index 00000000000..c04d558ba14
--- /dev/null
+++ b/graphics/darktable/patches/patch-data_darktable-faster
@@ -0,0 +1,12 @@
+$NetBSD: patch-data_darktable-faster,v 1.1.1.1 2011/07/26 21:37:47 jakllsch Exp $
+
+Don't depend on bash. This might not work.
+
+--- data/darktable-faster.orig 2011-07-02 03:15:32.000000000 +0000
++++ data/darktable-faster
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+
+ # get dbfile from gconf
+ dbfile=$(gconftool-2 --get /apps/darktable/database)
diff --git a/graphics/darktable/patches/patch-src_CMakeLists.txt b/graphics/darktable/patches/patch-src_CMakeLists.txt
new file mode 100644
index 00000000000..17d09d753ce
--- /dev/null
+++ b/graphics/darktable/patches/patch-src_CMakeLists.txt
@@ -0,0 +1,41 @@
+$NetBSD: patch-src_CMakeLists.txt,v 1.1.1.1 2011/07/26 21:37:47 jakllsch Exp $
+
+Various thing to possibly improve portability.
+
+--- src/CMakeLists.txt.orig 2011-07-02 03:15:32.000000000 +0000
++++ src/CMakeLists.txt
+@@ -219,7 +219,7 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}
+
+ if(NOT APPLE)
+ # apple build fails on deprecated warnings..
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
++ #set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
+ endif(NOT APPLE)
+
+ if(NOT WIN32)
+@@ -227,17 +227,17 @@ if(NOT WIN32)
+ endif(NOT WIN32)
+
+ if(NOT BINARY_PACKAGE_BUILD)
+- set(MARCH "-march=native")
++# set(MARCH "-march=native")
+ else()
+- set(MARCH "-mtune=generic")
++# set(MARCH "-mtune=generic")
+ endif()
+
+-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse2 -mfpmath=sse ${MARCH} -g")
+-set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -ffast-math -fexpensive-optimizations")
+-set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -g -D_DEBUG")
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2 -mfpmath=sse ${MARCH} -g")
+-set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -ffast-math -fexpensive-optimizations")
+-set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g -D_DEBUG")
++#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse2 -mfpmath=sse ${MARCH} -g")
++#set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -ffast-math -fexpensive-optimizations")
++#set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -g -D_DEBUG")
++#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse2 -mfpmath=sse ${MARCH} -g")
++#set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -ffast-math -fexpensive-optimizations")
++#set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g -D_DEBUG")
+
+
+ #
diff --git a/graphics/darktable/patches/patch-src_LibRaw_libraw_libraw__alloc.h b/graphics/darktable/patches/patch-src_LibRaw_libraw_libraw__alloc.h
new file mode 100644
index 00000000000..3ba236d95c7
--- /dev/null
+++ b/graphics/darktable/patches/patch-src_LibRaw_libraw_libraw__alloc.h
@@ -0,0 +1,14 @@
+$NetBSD: patch-src_LibRaw_libraw_libraw__alloc.h,v 1.1.1.1 2011/07/26 21:37:47 jakllsch Exp $
+
+Work around redefined symbol.
+
+--- src/LibRaw/libraw/libraw_alloc.h.orig 2011-07-02 03:15:32.000000000 +0000
++++ src/LibRaw/libraw/libraw_alloc.h
+@@ -27,6 +27,7 @@ it under the terms of the one of three l
+
+ #ifdef __cplusplus
+
++#undef MSIZE
+ #define MSIZE 32
+
+ class DllDef libraw_memmgr
diff --git a/graphics/darktable/patches/patch-src_imageio_format_png.c b/graphics/darktable/patches/patch-src_imageio_format_png.c
new file mode 100644
index 00000000000..038bdcbb301
--- /dev/null
+++ b/graphics/darktable/patches/patch-src_imageio_format_png.c
@@ -0,0 +1,14 @@
+$NetBSD: patch-src_imageio_format_png.c,v 1.1.1.1 2011/07/26 21:37:47 jakllsch Exp $
+
+Needs a constant from zlib.
+
+--- src/imageio/format/png.c.orig 2011-07-02 03:15:32.000000000 +0000
++++ src/imageio/format/png.c
+@@ -27,6 +27,7 @@
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <png.h>
++#include <zlib.h>
+ #include <inttypes.h>
+
+ DT_MODULE(1)
diff --git a/graphics/darktable/patches/patch-src_rawspeed_RawSpeed_Common.h b/graphics/darktable/patches/patch-src_rawspeed_RawSpeed_Common.h
new file mode 100644
index 00000000000..f94829581e9
--- /dev/null
+++ b/graphics/darktable/patches/patch-src_rawspeed_RawSpeed_Common.h
@@ -0,0 +1,16 @@
+$NetBSD: patch-src_rawspeed_RawSpeed_Common.h,v 1.1.1.1 2011/07/26 21:37:47 jakllsch Exp $
+
+Move typedef to correct place.
+
+--- src/rawspeed/RawSpeed/Common.h.orig 2011-07-02 03:15:32.000000000 +0000
++++ src/rawspeed/RawSpeed/Common.h
+@@ -42,8 +42,8 @@ void* _aligned_malloc(size_t bytes, size
+ #define _aligned_free(a) do { free(a); } while (0)
+ #ifndef MIN
+ #define MIN(a, b) lmin(a,b)
+-typedef unsigned long long uint64;
+ #endif
++typedef unsigned long long uint64;
+ #ifndef MAX
+ #define MAX(a, b) lmax(a,b)
+ #endif