# HG changeset patch # User Luis Saavedra # Date 1331743765 10800 # Node ID 158396fb40ff3ba90d7e2d95413be13af67e424c # Parent 285e0fbe63b51ddd19a2e505a5da4f2601f6b901 Some fixes in wt library: * build outside your source directory * boost shared off * added patch to libharu taken from http://redmine.webtoolkit.eu/projects/wt/wiki/LibHaru regards, Luis diff -r 285e0fbe63b5 -r 158396fb40ff src/libharu-1-fixes.patch --- a/src/libharu-1-fixes.patch Thu Mar 15 22:01:59 2012 +1100 +++ b/src/libharu-1-fixes.patch Wed Mar 14 13:49:25 2012 -0300 @@ -354,3 +354,54 @@ -- 1.7.8.3 +Wt requires the following patch for libHaru to render arcs correctly. +This patch has been tested against libhar 2.1.0 and 2.2.0. +(see http://redmine.webtoolkit.eu/projects/wt/wiki/LibHaru) + +diff -ur a/src/hpdf_page_operator.c b/src/hpdf_page_operator.c +--- a/src/hpdf_page_operator.c 2010-02-01 07:26:13.000000000 -0300 ++++ b/src/hpdf_page_operator.c 2012-03-10 18:12:41.347028623 -0300 +@@ -2192,7 +2192,7 @@ + + HPDF_PTRACE ((" HPDF_Page_Arc\n")); + +- if (ang1 >= ang2 || (ang2 - ang1) >= 360) ++ if (fabs(ang2 - ang1) >= 360) + HPDF_RaiseError (page->error, HPDF_PAGE_OUT_OF_RANGE, 0); + + if (ret != HPDF_OK) +@@ -2205,10 +2205,10 @@ + + + for (;;) { +- if (ang2 - ang1 <= 90) ++ if (fabs(ang2 - ang1) <= 90) + return InternalArc (page, x, y, ray, ang1, ang2, cont_flg); + else { +- HPDF_REAL tmp_ang = ang1 + 90; ++ HPDF_REAL tmp_ang = (ang2 > ang1 ? ang1 + 90 : ang1 - 90); + + if ((ret = InternalArc (page, x, y, ray, ang1, tmp_ang, cont_flg)) + != HPDF_OK) +@@ -2217,7 +2217,7 @@ + ang1 = tmp_ang; + } + +- if (ang1 >= ang2) ++ if (fabs(ang1 - ang2) < 0.1) + break; + + cont_flg = HPDF_TRUE; +@@ -2280,7 +2280,11 @@ + pbuf = HPDF_FToA (pbuf, (HPDF_REAL)x0, eptr); + *pbuf++ = ' '; + pbuf = HPDF_FToA (pbuf, (HPDF_REAL)y0, eptr); +- pbuf = (char *)HPDF_StrCpy (pbuf, " m\012", eptr); ++ ++ if (attr->gmode == HPDF_GMODE_PATH_OBJECT) ++ pbuf = (char *)HPDF_StrCpy (pbuf, " l\012", eptr); ++ else ++ pbuf = (char *)HPDF_StrCpy (pbuf, " m\012", eptr); + } + + pbuf = HPDF_FToA (pbuf, (HPDF_REAL)x1, eptr); diff -r 285e0fbe63b5 -r 158396fb40ff src/wt.mk --- a/src/wt.mk Thu Mar 15 22:01:59 2012 +1100 +++ b/src/wt.mk Wed Mar 14 13:49:25 2012 -0300 @@ -19,19 +19,23 @@ endef define $(PKG)_BUILD - mkdir '$(1)/build' - cd '$(1)/build' && cmake .. \ - -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ - -DCMAKE_BUILD_TYPE:STRING="Release" \ + # build wt libraries + mkdir '$(1).build' + cd '$(1).build' && cmake \ + -DCONFIGDIR='$(PREFIX)/$(TARGET)/etc/wt' \ -DBUILD_EXAMPLES=OFF \ -DBUILD_TESTS=OFF \ -DSHARED_LIBS=OFF \ + -DBOOST_DYNAMIC=OFF \ -DBOOST_PREFIX='$(PREFIX)/$(TARGET)' \ -DBOOST_COMPILER=_win32 \ -DSSL_PREFIX='$(PREFIX)/$(TARGET)' \ -DOPENSSL_LIBS="`'$(TARGET)-pkg-config' --libs-only-l openssl`" \ -DGM_PREFIX='$(PREFIX)/$(TARGET)' \ -DGM_LIBS="`'$(TARGET)-pkg-config' --libs-only-l GraphicsMagick++`" \ - -DPANGO_FT2_LIBS="`'$(TARGET)-pkg-config' --libs-only-l pangoft2`" - $(MAKE) -C '$(1)/build' -j '$(JOBS)' install VERBOSE=1 + -DPANGO_FT2_LIBS="`'$(TARGET)-pkg-config' --libs-only-l pangoft2`" \ + -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \ + -DCMAKE_BUILD_TYPE:STRING="Release" \ + '$(1)' + $(MAKE) -C '$(1).build' -j '$(JOBS)' install VERBOSE=1 endef