Merged in noryb009/haikuports/leptonica (pull request #110)

Fix and upgrade leptonica recipe
This commit is contained in:
Scott McCreary
2014-01-01 21:27:06 -08:00
4 changed files with 428 additions and 34 deletions

View File

@@ -1,34 +0,0 @@
DESCRIPTION="An open source C library for efficient image processing and image analysis operations."
HOMEPAGE="http://code.google.com/p/leptonica"
SRC_URI="http://www.leptonica.org/source/leptonica-1.68.tar.gz"
REVISION="1"
STATUS_HAIKU="broken"
DEPEND=""
CHECKSUM_MD5="5cd7092f9ff2ca7e3f3e73bfcd556403"
BUILD()
{
cd leptonica-1.68
libtoolize
aclocal
autoconf
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL()
{
cd leptonica-1.68
make install
}
TEST()
{
cd leptonica-1.68
# make test
# make check
}
LICENSE="Apache v2
GNU GPL v1"
COPYRIGHT="1985-1995 HP labs
2011 Google Inc."

View File

@@ -0,0 +1,316 @@
SUMMARY="A C library for image processing and analysis operations."
DESCRIPTION="
A powerful open source C library for efficient image processing \
and image analysis operations. It's long list of features includes:
* image transformations (scaling, rotation, etc.)
* change scale and pixel depth
* pixelwise masking, blending, and enhancement
* can open and save standard image formats
"
HOMEPAGE="http://code.google.com/p/leptonica"
SRC_URI="http://www.leptonica.org/source/leptonica-1.69.tar.gz"
CHECKSUM_MD5="d4085c302cbcab7f9af9d3d6f004ab22"
LICENSE="BSD (2-clause)"
COPYRIGHT="2001-2012 Dan Bloomberg"
REVISION="1"
ARCHITECTURES="x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
# x86_gcc2 is fine as primary target architecture as long as we're building
# for a different secondary architecture.
ARCHITECTURES="$ARCHITECTURES x86_gcc2"
fi
PROVIDES="
leptonica$secondaryArchSuffix = $portVersion
lib:leptonica$secondaryArchSuffix = 3.0.0
lib:liblept$secondaryArchSuffix = 3.0.0
"
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
lib:libgif$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:libpng$secondaryArchSuffix
lib:libwebp$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
devel:libgif$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:libpng$secondaryArchSuffix
devel:libwebp$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:ar$secondaryArchSuffix
cmd:autoconf
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:libtoolize
cmd:make
cmd:makeinfo
"
PATCHES="
giflib6.patch
leptonica-1.69.patch
"
BUILD()
{
libtoolize --force --copy --install
aclocal
autoconf
automake -a
runConfigure ./configure
make $jobArgs
}
INSTALL()
{
make install
prepareInstalledDevelLibs liblept
packageEntries devel \
$developDir
packageEntries tools \
$binDir
}
# ----- devel package -------------------------------------------------------
PROVIDES_devel="
leptonica${secondaryArchSuffix}_devel = $portVersion
devel:leptonica$secondaryArchSuffix = 3.0.0
devel:liblept$secondaryArchSuffix = 3.0.0
"
REQUIRES_devel="
haiku$secondaryArchSuffix >= $haikuVersion
leptonica$secondaryArchSuffix == $portVersion base
"
# ----- tools package -------------------------------------------------------
PROVIDES_tools="
leptonica${secondaryArchSuffix}_tools = $portVersion
cmd:adaptmaptest$secondaryArchSuffix = $portVersion
cmd:adaptnorm_reg$secondaryArchSuffix = $portVersion
cmd:affine_reg$secondaryArchSuffix = $portVersion
cmd:alltests_reg$secondaryArchSuffix = $portVersion
cmd:alphaops_reg$secondaryArchSuffix = $portVersion
cmd:alphaxform_reg$secondaryArchSuffix = $portVersion
cmd:arithtest$secondaryArchSuffix = $portVersion
cmd:barcodetest$secondaryArchSuffix = $portVersion
cmd:baselinetest$secondaryArchSuffix = $portVersion
cmd:bilinear_reg$secondaryArchSuffix = $portVersion
cmd:binarize_reg$secondaryArchSuffix = $portVersion
cmd:bincompare$secondaryArchSuffix = $portVersion
cmd:binmorph1_reg$secondaryArchSuffix = $portVersion
cmd:binmorph2_reg$secondaryArchSuffix = $portVersion
cmd:binmorph3_reg$secondaryArchSuffix = $portVersion
cmd:binmorph4_reg$secondaryArchSuffix = $portVersion
cmd:binmorph5_reg$secondaryArchSuffix = $portVersion
cmd:blend_reg$secondaryArchSuffix = $portVersion
cmd:blend2_reg$secondaryArchSuffix = $portVersion
cmd:blendcmaptest$secondaryArchSuffix = $portVersion
cmd:blendtest1$secondaryArchSuffix = $portVersion
cmd:buffertest$secondaryArchSuffix = $portVersion
cmd:byteatest$secondaryArchSuffix = $portVersion
cmd:ccbordtest$secondaryArchSuffix = $portVersion
cmd:cctest1$secondaryArchSuffix = $portVersion
cmd:ccthin1_reg$secondaryArchSuffix = $portVersion
cmd:ccthin2_reg$secondaryArchSuffix = $portVersion
cmd:cmapquant_reg$secondaryArchSuffix = $portVersion
cmd:coloring_reg$secondaryArchSuffix = $portVersion
cmd:colormask_reg$secondaryArchSuffix = $portVersion
cmd:colormorphtest$secondaryArchSuffix = $portVersion
cmd:colorquant_reg$secondaryArchSuffix = $portVersion
cmd:colorseg_reg$secondaryArchSuffix = $portVersion
cmd:colorsegtest$secondaryArchSuffix = $portVersion
cmd:colorspacetest$secondaryArchSuffix = $portVersion
cmd:compare_reg$secondaryArchSuffix = $portVersion
cmd:comparepages$secondaryArchSuffix = $portVersion
cmd:comparetest$secondaryArchSuffix = $portVersion
cmd:compfilter_reg$secondaryArchSuffix = $portVersion
cmd:conncomp_reg$secondaryArchSuffix = $portVersion
cmd:contrasttest$secondaryArchSuffix = $portVersion
cmd:conversion_reg$secondaryArchSuffix = $portVersion
cmd:convertfilestopdf$secondaryArchSuffix = $portVersion
cmd:convertfilestops$secondaryArchSuffix = $portVersion
cmd:convertformat$secondaryArchSuffix = $portVersion
cmd:convertsegfilestopdf$secondaryArchSuffix = $portVersion
cmd:convertsegfilestops$secondaryArchSuffix = $portVersion
cmd:converttogray$secondaryArchSuffix = $portVersion
cmd:converttops$secondaryArchSuffix = $portVersion
cmd:convolve_reg$secondaryArchSuffix = $portVersion
cmd:convolvetest$secondaryArchSuffix = $portVersion
cmd:cornertest$secondaryArchSuffix = $portVersion
cmd:croptext$secondaryArchSuffix = $portVersion
cmd:dewarp_reg$secondaryArchSuffix = $portVersion
cmd:dewarptest1$secondaryArchSuffix = $portVersion
cmd:dewarptest2$secondaryArchSuffix = $portVersion
cmd:dewarptest3$secondaryArchSuffix = $portVersion
cmd:digitprep1$secondaryArchSuffix = $portVersion
cmd:distance_reg$secondaryArchSuffix = $portVersion
cmd:dithertest$secondaryArchSuffix = $portVersion
cmd:dna_reg$secondaryArchSuffix = $portVersion
cmd:dwalineargen$secondaryArchSuffix = $portVersion
cmd:dwamorph1_reg$secondaryArchSuffix = $portVersion
cmd:dwamorph2_reg$secondaryArchSuffix = $portVersion
cmd:edgetest$secondaryArchSuffix = $portVersion
cmd:enhance_reg$secondaryArchSuffix = $portVersion
cmd:equal_reg$secondaryArchSuffix = $portVersion
cmd:expand_reg$secondaryArchSuffix = $portVersion
cmd:extrema_reg$secondaryArchSuffix = $portVersion
cmd:falsecolortest$secondaryArchSuffix = $portVersion
cmd:fcombautogen$secondaryArchSuffix = $portVersion
cmd:fhmtauto_reg$secondaryArchSuffix = $portVersion
cmd:fhmtautogen$secondaryArchSuffix = $portVersion
cmd:fileinfo$secondaryArchSuffix = $portVersion
cmd:findpattern_reg$secondaryArchSuffix = $portVersion
cmd:findpattern1$secondaryArchSuffix = $portVersion
cmd:findpattern2$secondaryArchSuffix = $portVersion
cmd:findpattern3$secondaryArchSuffix = $portVersion
cmd:flipdetect_reg$secondaryArchSuffix = $portVersion
cmd:flipselgen$secondaryArchSuffix = $portVersion
cmd:fmorphauto_reg$secondaryArchSuffix = $portVersion
cmd:fmorphautogen$secondaryArchSuffix = $portVersion
cmd:fpix_reg$secondaryArchSuffix = $portVersion
cmd:fpixcontours$secondaryArchSuffix = $portVersion
cmd:gammatest$secondaryArchSuffix = $portVersion
cmd:genfonts$secondaryArchSuffix = $portVersion
cmd:gifio_reg$secondaryArchSuffix = $portVersion
cmd:graphicstest$secondaryArchSuffix = $portVersion
cmd:grayfill_reg$secondaryArchSuffix = $portVersion
cmd:graymorph1_reg$secondaryArchSuffix = $portVersion
cmd:graymorph2_reg$secondaryArchSuffix = $portVersion
cmd:graymorphtest$secondaryArchSuffix = $portVersion
cmd:grayquant_reg$secondaryArchSuffix = $portVersion
cmd:hardlight_reg$secondaryArchSuffix = $portVersion
cmd:heap_reg$secondaryArchSuffix = $portVersion
cmd:histotest$secondaryArchSuffix = $portVersion
cmd:inserttest$secondaryArchSuffix = $portVersion
cmd:ioformats_reg$secondaryArchSuffix = $portVersion
cmd:iotest$secondaryArchSuffix = $portVersion
cmd:jbcorrelation$secondaryArchSuffix = $portVersion
cmd:jbrankhaus$secondaryArchSuffix = $portVersion
cmd:jbwords$secondaryArchSuffix = $portVersion
cmd:kernel_reg$secondaryArchSuffix = $portVersion
cmd:lineremoval$secondaryArchSuffix = $portVersion
cmd:listtest$secondaryArchSuffix = $portVersion
cmd:livre_adapt$secondaryArchSuffix = $portVersion
cmd:livre_hmt$secondaryArchSuffix = $portVersion
cmd:livre_makefigs$secondaryArchSuffix = $portVersion
cmd:livre_orient$secondaryArchSuffix = $portVersion
cmd:livre_pageseg$secondaryArchSuffix = $portVersion
cmd:livre_seedgen$secondaryArchSuffix = $portVersion
cmd:livre_tophat$secondaryArchSuffix = $portVersion
cmd:locminmax_reg$secondaryArchSuffix = $portVersion
cmd:logicops_reg$secondaryArchSuffix = $portVersion
cmd:lowaccess_reg$secondaryArchSuffix = $portVersion
cmd:maketile$secondaryArchSuffix = $portVersion
cmd:maze_reg$secondaryArchSuffix = $portVersion
cmd:misctest1$secondaryArchSuffix = $portVersion
cmd:modifyhuesat$secondaryArchSuffix = $portVersion
cmd:morphseq_reg$secondaryArchSuffix = $portVersion
cmd:morphtest1$secondaryArchSuffix = $portVersion
cmd:mtifftest$secondaryArchSuffix = $portVersion
cmd:numa_reg$secondaryArchSuffix = $portVersion
cmd:numaranktest$secondaryArchSuffix = $portVersion
cmd:otsutest1$secondaryArchSuffix = $portVersion
cmd:otsutest2$secondaryArchSuffix = $portVersion
cmd:overlap_reg$secondaryArchSuffix = $portVersion
cmd:pagesegtest1$secondaryArchSuffix = $portVersion
cmd:pagesegtest2$secondaryArchSuffix = $portVersion
cmd:paint_reg$secondaryArchSuffix = $portVersion
cmd:paintmask_reg$secondaryArchSuffix = $portVersion
cmd:partitiontest$secondaryArchSuffix = $portVersion
cmd:pdfiotest$secondaryArchSuffix = $portVersion
cmd:pdfseg_reg$secondaryArchSuffix = $portVersion
cmd:pixa1_reg$secondaryArchSuffix = $portVersion
cmd:pixa2_reg$secondaryArchSuffix = $portVersion
cmd:pixaatest$secondaryArchSuffix = $portVersion
cmd:pixadisp_reg$secondaryArchSuffix = $portVersion
cmd:pixalloc_reg$secondaryArchSuffix = $portVersion
cmd:pixcomp_reg$secondaryArchSuffix = $portVersion
cmd:pixmem_reg$secondaryArchSuffix = $portVersion
cmd:pixserial_reg$secondaryArchSuffix = $portVersion
cmd:pixtile_reg$secondaryArchSuffix = $portVersion
cmd:plottest$secondaryArchSuffix = $portVersion
cmd:pngio_reg$secondaryArchSuffix = $portVersion
cmd:printimage$secondaryArchSuffix = $portVersion
cmd:printsplitimage$secondaryArchSuffix = $portVersion
cmd:printtiff$secondaryArchSuffix = $portVersion
cmd:projection_reg$secondaryArchSuffix = $portVersion
cmd:projective_reg$secondaryArchSuffix = $portVersion
cmd:psio_reg$secondaryArchSuffix = $portVersion
cmd:psioseg_reg$secondaryArchSuffix = $portVersion
cmd:pta_reg$secondaryArchSuffix = $portVersion
cmd:ptra1_reg$secondaryArchSuffix = $portVersion
cmd:ptra2_reg$secondaryArchSuffix = $portVersion
cmd:quadtreetest$secondaryArchSuffix = $portVersion
cmd:rank_reg$secondaryArchSuffix = $portVersion
cmd:rankbin_reg$secondaryArchSuffix = $portVersion
cmd:rankhisto_reg$secondaryArchSuffix = $portVersion
cmd:ranktest$secondaryArchSuffix = $portVersion
cmd:rasterop_reg$secondaryArchSuffix = $portVersion
cmd:rasteropip_reg$secondaryArchSuffix = $portVersion
cmd:reducetest$secondaryArchSuffix = $portVersion
cmd:removecmap$secondaryArchSuffix = $portVersion
cmd:renderfonts$secondaryArchSuffix = $portVersion
cmd:rotate1_reg$secondaryArchSuffix = $portVersion
cmd:rotate2_reg$secondaryArchSuffix = $portVersion
cmd:rotatefastalt$secondaryArchSuffix = $portVersion
cmd:rotateorth_reg$secondaryArchSuffix = $portVersion
cmd:rotateorthtest1$secondaryArchSuffix = $portVersion
cmd:rotatetest1$secondaryArchSuffix = $portVersion
cmd:runlengthtest$secondaryArchSuffix = $portVersion
cmd:scale_reg$secondaryArchSuffix = $portVersion
cmd:scaleandtile$secondaryArchSuffix = $portVersion
cmd:scaletest1$secondaryArchSuffix = $portVersion
cmd:scaletest2$secondaryArchSuffix = $portVersion
cmd:seedfilltest$secondaryArchSuffix = $portVersion
cmd:seedspread_reg$secondaryArchSuffix = $portVersion
cmd:selio_reg$secondaryArchSuffix = $portVersion
cmd:sharptest$secondaryArchSuffix = $portVersion
cmd:shear_reg$secondaryArchSuffix = $portVersion
cmd:shear2_reg$secondaryArchSuffix = $portVersion
cmd:sheartest$secondaryArchSuffix = $portVersion
cmd:showedges$secondaryArchSuffix = $portVersion
cmd:skew_reg$secondaryArchSuffix = $portVersion
cmd:skewtest$secondaryArchSuffix = $portVersion
cmd:smallpix_reg$secondaryArchSuffix = $portVersion
cmd:smoothedge_reg$secondaryArchSuffix = $portVersion
cmd:snapcolortest$secondaryArchSuffix = $portVersion
cmd:sorttest$secondaryArchSuffix = $portVersion
cmd:splitcomp_reg$secondaryArchSuffix = $portVersion
cmd:splitimage2pdf$secondaryArchSuffix = $portVersion
cmd:string_reg$secondaryArchSuffix = $portVersion
cmd:subpixel_reg$secondaryArchSuffix = $portVersion
cmd:sudokutest$secondaryArchSuffix = $portVersion
cmd:textlinemask$secondaryArchSuffix = $portVersion
cmd:threshnorm_reg$secondaryArchSuffix = $portVersion
cmd:translate_reg$secondaryArchSuffix = $portVersion
cmd:trctest$secondaryArchSuffix = $portVersion
cmd:viewertest$secondaryArchSuffix = $portVersion
cmd:warper_reg$secondaryArchSuffix = $portVersion
cmd:warpertest$secondaryArchSuffix = $portVersion
cmd:watershedtest$secondaryArchSuffix = $portVersion
cmd:wordsinorder$secondaryArchSuffix = $portVersion
cmd:writemtiff$secondaryArchSuffix = $portVersion
cmd:writetext_reg$secondaryArchSuffix = $portVersion
cmd:xformbox_reg$secondaryArchSuffix = $portVersion
cmd:xtractprotos$secondaryArchSuffix = $portVersion
cmd:xvdisp$secondaryArchSuffix = $portVersion
cmd:yuvtest$secondaryArchSuffix = $portVersion
"
REQUIRES_tools="
haiku$secondaryArchSuffix >= $haikuVersion
leptonica$secondaryArchSuffix == $portVersion base
"

View File

@@ -0,0 +1,56 @@
diff -wbBur leptonica-1.69/src/gifio.c leptonica-1.69/src/gifio.c
--- leptonica-1.69/src/gifio.c 2012-01-22 22:29:15.000000000 +0400
+++ leptonica-1.69/src/gifio.c 2013-07-30 18:27:19.269137200 +0400
@@ -100,7 +100,7 @@
_lseek(fd, 0, SEEK_SET);
#endif /* _MSC_VER */
- if ((gif = DGifOpenFileHandle(fd)) == NULL)
+ if ((gif = DGifOpenFileHandle(fd, NULL)) == NULL)
return (PIX *)ERROR_PTR("invalid file or file not found",
procName, NULL);
@@ -316,7 +316,7 @@
}
/* Save the cmap colors in a gif_cmap */
- if ((gif_cmap = MakeMapObject(gif_ncolor, NULL)) == NULL) {
+ if ((gif_cmap = GifMakeMapObject(gif_ncolor, NULL)) == NULL) {
pixDestroy(&pixd);
return ERROR_INT("failed to create GIF color map", procName, 1);
}
@@ -325,7 +325,7 @@
if (ncolor > 0) {
if (pixcmapGetColor(cmap, i, &rval, &gval, &bval) != 0) {
pixDestroy(&pixd);
- FreeMapObject(gif_cmap);
+ GifFreeMapObject(gif_cmap);
return ERROR_INT("failed to get color from color map",
procName, 1);
}
@@ -337,9 +337,9 @@
}
/* Get the gif file handle */
- if ((gif = EGifOpenFileHandle(fd)) == NULL) {
+ if ((gif = EGifOpenFileHandle(fd, NULL)) == NULL) {
pixDestroy(&pixd);
- FreeMapObject(gif_cmap);
+ GifFreeMapObject(gif_cmap);
return ERROR_INT("failed to create GIF image handle", procName, 1);
}
@@ -347,11 +347,11 @@
if (EGifPutScreenDesc(gif, w, h, gif_cmap->BitsPerPixel, 0, gif_cmap)
!= GIF_OK) {
pixDestroy(&pixd);
- FreeMapObject(gif_cmap);
+ GifFreeMapObject(gif_cmap);
EGifCloseFile(gif);
return ERROR_INT("failed to write screen description", procName, 1);
}
- FreeMapObject(gif_cmap); /* not needed after this point */
+ GifFreeMapObject(gif_cmap); /* not needed after this point */
if (EGifPutImageDesc(gif, 0, 0, w, h, FALSE, NULL) != GIF_OK) {
pixDestroy(&pixd);

View File

@@ -0,0 +1,56 @@
From 0b6499e1a9868539583d776f2c0c6251b38a02e6 Mon Sep 17 00:00:00 2001
From: Luke <noryb009@gmail.com>
Date: Thu, 26 Dec 2013 01:39:15 +0000
Subject: [PATCH] Fix building on Haiku
---
configure.ac | 2 +-
src/sarray.c | 5 ++++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index fb5ca0c..88b52c9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
AC_PREREQ([2.50])
AC_INIT([leptonica], [1.69], [dan.bloomberg@gmail.com])
AC_CONFIG_AUX_DIR([config])
-AM_CONFIG_HEADER([config_auto.h:config/config.h.in])
+AC_CONFIG_HEADERS([config_auto.h:config/config.h.in])
AC_CONFIG_SRCDIR([src/adaptmap.c])
AC_CONFIG_MACRO_DIR([m4])
diff --git a/src/sarray.c b/src/sarray.c
index c21bf3b..b212bf8 100644
--- a/src/sarray.c
+++ b/src/sarray.c
@@ -131,6 +131,7 @@
#include <string.h>
#ifndef _WIN32
#include <dirent.h> /* unix only */
+#include <sys/stat.h>
#endif /* ! _WIN32 */
#include "allheaders.h"
@@ -1831,6 +1832,7 @@ l_int32 len;
SARRAY *safiles;
DIR *pdir;
struct dirent *pdirentry;
+struct stat s;
PROCNAME("getFilenamesInDirectory");
@@ -1847,7 +1849,8 @@ struct dirent *pdirentry;
* define _BSD_SOURCE in the CC command, because the DT_DIR
* flag is non-standard. */
#if !defined(__SOLARIS__)
- if (pdirentry->d_type == DT_DIR)
+ stat(pdirentry->d_name, &s);
+ if(S_ISDIR(s.st_mode))
continue;
#endif
--
1.8.3.4