graphics/tesseract pkg-config --cflags

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

graphics/tesseract pkg-config --cflags

Raphael Graf-2
The diff below fixes the pkg-config file installed by tesseract.

Before:
x1$ pkg-config --cflags tesseract
-I/usr/local/include/tesseract -I/usr/local/include/leptonica

After:
x1$ pkg-config --cflags tesseract
-I/usr/local/include -I/usr/local/include/tesseract -I/usr/local/include/leptonica

The fix is inspired by tesseract.pc.cmake (which we do not use):
https://github.com/tesseract-ocr/tesseract/blob/3.05/tesseract.pc.cmake

(The issue is already fixed in upstream version 4.0.0)



Index: tesseract/patches/patch-tesseract_pc_in
===================================================================
RCS file: tesseract/patches/patch-tesseract_pc_in
diff -N tesseract/patches/patch-tesseract_pc_in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tesseract/patches/patch-tesseract_pc_in 7 Jan 2019 13:56:00 -0000
@@ -0,0 +1,20 @@
+$OpenBSD$
+
+Index: tesseract.pc.in
+--- tesseract.pc.in.orig
++++ tesseract.pc.in
+@@ -4,7 +4,7 @@ bindir=@bindir@
+ datarootdir = @datarootdir@
+ datadir=@datadir@
+ libdir=@libdir@
+-includedir=@includedir@
++includedir=@prefix@/include
+
+ Name: @PACKAGE_NAME@
+ Description: An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google.
+@@ -13,4 +13,4 @@ Version: @VERSION@
+ Requires.private: lept
+ Libs: -L${libdir} -ltesseract
+ Libs.private: -lpthread @OPENCL_LDFLAGS@
+-Cflags: -I${includedir}
++Cflags: -I${includedir} -I${includedir}/tesseract


Reply | Threaded
Open this post in threaded view
|

Re: graphics/tesseract pkg-config --cflags

Stuart Henderson
On 2019/01/07 15:29, Raphael Graf wrote:

> The diff below fixes the pkg-config file installed by tesseract.
>
> Before:
> x1$ pkg-config --cflags tesseract
> -I/usr/local/include/tesseract -I/usr/local/include/leptonica
>
> After:
> x1$ pkg-config --cflags tesseract
> -I/usr/local/include -I/usr/local/include/tesseract -I/usr/local/include/leptonica
>
> The fix is inspired by tesseract.pc.cmake (which we do not use):
> https://github.com/tesseract-ocr/tesseract/blob/3.05/tesseract.pc.cmake
>
> (The issue is already fixed in upstream version 4.0.0)

Could you explain the problem please? I don't see anything different in
git master for this file, and don't see why -I/usr/local/include is needed
when the files are all in the subdirectory?

>
> Index: tesseract/patches/patch-tesseract_pc_in
> ===================================================================
> RCS file: tesseract/patches/patch-tesseract_pc_in
> diff -N tesseract/patches/patch-tesseract_pc_in
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ tesseract/patches/patch-tesseract_pc_in 7 Jan 2019 13:56:00 -0000
> @@ -0,0 +1,20 @@
> +$OpenBSD$
> +
> +Index: tesseract.pc.in
> +--- tesseract.pc.in.orig
> ++++ tesseract.pc.in
> +@@ -4,7 +4,7 @@ bindir=@bindir@
> + datarootdir = @datarootdir@
> + datadir=@datadir@
> + libdir=@libdir@
> +-includedir=@includedir@
> ++includedir=@prefix@/include
> +
> + Name: @PACKAGE_NAME@
> + Description: An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google.
> +@@ -13,4 +13,4 @@ Version: @VERSION@
> + Requires.private: lept
> + Libs: -L${libdir} -ltesseract
> + Libs.private: -lpthread @OPENCL_LDFLAGS@
> +-Cflags: -I${includedir}
> ++Cflags: -I${includedir} -I${includedir}/tesseract
>
>

Reply | Threaded
Open this post in threaded view
|

Re: graphics/tesseract pkg-config --cflags

Raphael Graf-2
On 1/7/19 3:46 PM, Stuart Henderson wrote:

> On 2019/01/07 15:29, Raphael Graf wrote:
>> The diff below fixes the pkg-config file installed by tesseract.
>>
>> Before:
>> x1$ pkg-config --cflags tesseract
>> -I/usr/local/include/tesseract -I/usr/local/include/leptonica
>>
>> After:
>> x1$ pkg-config --cflags tesseract
>> -I/usr/local/include -I/usr/local/include/tesseract -I/usr/local/include/leptonica
>>
>> The fix is inspired by tesseract.pc.cmake (which we do not use):
>> https://github.com/tesseract-ocr/tesseract/blob/3.05/tesseract.pc.cmake
>>
>> (The issue is already fixed in upstream version 4.0.0)
>
> Could you explain the problem please? I don't see anything different in
> git master for this file, and don't see why -I/usr/local/include is needed
> when the files are all in the subdirectory?

The tesseract headers are normally included like this:
#include <tesseract/baseapi.h>

For example in one of the opencv_contrib modules:
https://github.com/opencv/opencv_contrib/blob/master/modules/text/src/precomp.hpp

The git master version uses '-I/usr/local/include' only.
(It is not obvious if you are looking at tesseract.pc.in, the value of
@includedir@ is in fact '/usr/local/include' now).


>
>>
>> Index: tesseract/patches/patch-tesseract_pc_in
>> ===================================================================
>> RCS file: tesseract/patches/patch-tesseract_pc_in
>> diff -N tesseract/patches/patch-tesseract_pc_in
>> --- /dev/null 1 Jan 1970 00:00:00 -0000
>> +++ tesseract/patches/patch-tesseract_pc_in 7 Jan 2019 13:56:00 -0000
>> @@ -0,0 +1,20 @@
>> +$OpenBSD$
>> +
>> +Index: tesseract.pc.in
>> +--- tesseract.pc.in.orig
>> ++++ tesseract.pc.in
>> +@@ -4,7 +4,7 @@ bindir=@bindir@
>> + datarootdir = @datarootdir@
>> + datadir=@datadir@
>> + libdir=@libdir@
>> +-includedir=@includedir@
>> ++includedir=@prefix@/include
>> +
>> + Name: @PACKAGE_NAME@
>> + Description: An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google.
>> +@@ -13,4 +13,4 @@ Version: @VERSION@
>> + Requires.private: lept
>> + Libs: -L${libdir} -ltesseract
>> + Libs.private: -lpthread @OPENCL_LDFLAGS@
>> +-Cflags: -I${includedir}
>> ++Cflags: -I${includedir} -I${includedir}/tesseract
>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: graphics/tesseract pkg-config --cflags

Stuart Henderson
On 2019/01/07 16:06, Raphael Graf wrote:

> On 1/7/19 3:46 PM, Stuart Henderson wrote:
> > On 2019/01/07 15:29, Raphael Graf wrote:
> > > The diff below fixes the pkg-config file installed by tesseract.
> > >
> > > Before:
> > > x1$ pkg-config --cflags tesseract
> > > -I/usr/local/include/tesseract -I/usr/local/include/leptonica
> > >
> > > After:
> > > x1$ pkg-config --cflags tesseract
> > > -I/usr/local/include -I/usr/local/include/tesseract -I/usr/local/include/leptonica
> > >
> > > The fix is inspired by tesseract.pc.cmake (which we do not use):
> > > https://github.com/tesseract-ocr/tesseract/blob/3.05/tesseract.pc.cmake
> > >
> > > (The issue is already fixed in upstream version 4.0.0)
> >
> > Could you explain the problem please? I don't see anything different in
> > git master for this file, and don't see why -I/usr/local/include is needed
> > when the files are all in the subdirectory?
>
> The tesseract headers are normally included like this:
> #include <tesseract/baseapi.h>
>
> For example in one of the opencv_contrib modules:
> https://github.com/opencv/opencv_contrib/blob/master/modules/text/src/precomp.hpp
>
> The git master version uses '-I/usr/local/include' only.
> (It is not obvious if you are looking at tesseract.pc.in, the value of
> @includedir@ is in fact '/usr/local/include' now).

Ah I see, thanks. Then the patch makes sense, but also needs a REVISION
bump since it changes the files in the package, and a quick build test
with the existing dependencies just to make sure it doesn't add a problem:

graphics/pdfsandwich
mail/p5-FuzzyOcr
multimedia/ogmrip
x11/gnome/ocrfeeder

Could you add a quick comment to the patch (under the CVS line) too e.g.

   Add -I/usr/local/include to include path. Typical users include headers
   with "#include <tesseract/XX.h>". Patch should be removed for 4.0.0 as fixed
   upstream by changing @includedir@ definition.

Reply | Threaded
Open this post in threaded view
|

Re: graphics/tesseract pkg-config --cflags

Raphael Graf-2
On Mon, January 7, 2019 4:16 pm, Stuart Henderson wrote:

> On 2019/01/07 16:06, Raphael Graf wrote:
>> On 1/7/19 3:46 PM, Stuart Henderson wrote:
>> > On 2019/01/07 15:29, Raphael Graf wrote:
>> > > The diff below fixes the pkg-config file installed by tesseract.
>> > >
>> > > Before:
>> > > x1$ pkg-config --cflags tesseract
>> > > -I/usr/local/include/tesseract -I/usr/local/include/leptonica
>> > >
>> > > After:
>> > > x1$ pkg-config --cflags tesseract
>> > > -I/usr/local/include -I/usr/local/include/tesseract -I/usr/local/include/leptonica
>> > >
>> > > The fix is inspired by tesseract.pc.cmake (which we do not use):
>> > > https://github.com/tesseract-ocr/tesseract/blob/3.05/tesseract.pc.cmake
>> > >
>> > > (The issue is already fixed in upstream version 4.0.0)
>> >
>> > Could you explain the problem please? I don't see anything different in
>> > git master for this file, and don't see why -I/usr/local/include is needed
>> > when the files are all in the subdirectory?
>>
>> The tesseract headers are normally included like this:
>> #include <tesseract/baseapi.h>
>>
>> For example in one of the opencv_contrib modules:
>> https://github.com/opencv/opencv_contrib/blob/master/modules/text/src/precomp.hpp
>>
>> The git master version uses '-I/usr/local/include' only.
>> (It is not obvious if you are looking at tesseract.pc.in, the value of
>> @includedir@ is in fact '/usr/local/include' now).
>
> Ah I see, thanks. Then the patch makes sense, but also needs a REVISION
> bump since it changes the files in the package, and a quick build test
> with the existing dependencies just to make sure it doesn't add a problem:
>
> graphics/pdfsandwich
> mail/p5-FuzzyOcr
> multimedia/ogmrip
> x11/gnome/ocrfeeder
>
> Could you add a quick comment to the patch (under the CVS line) too e.g.
>
>    Add -I/usr/local/include to include path. Typical users include headers
>    with "#include <tesseract/XX.h>". Patch should be removed for 4.0.0 as fixed
>    upstream by changing @includedir@ definition.
>
>

Ok, I have successfully compile-tested those four ports.
Here is an updated diff:


Index: tesseract/Makefile
===================================================================
RCS file: /cvs/ports/graphics/tesseract/tesseract/Makefile,v
retrieving revision 1.16
diff -u -p -u -p -r1.16 Makefile
--- tesseract/Makefile 4 Sep 2018 12:46:14 -0000 1.16
+++ tesseract/Makefile 7 Jan 2019 16:07:34 -0000
@@ -4,7 +4,7 @@ COMMENT= OCR Engine developed at HP Labs

 GH_PROJECT= tesseract
 GH_TAGNAME= 3.05.02
-REVISION= 1
+REVISION= 2

 SHARED_LIBS +=  tesseract            3.2      # 3.5

Index: tesseract/patches/patch-tesseract_pc_in
===================================================================
RCS file: tesseract/patches/patch-tesseract_pc_in
diff -N tesseract/patches/patch-tesseract_pc_in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tesseract/patches/patch-tesseract_pc_in 7 Jan 2019 16:07:34 -0000
@@ -0,0 +1,24 @@
+$OpenBSD$
+
+Add -I/usr/local/include to include path. Typical users include headers
+with "#include <tesseract/XX.h>". Patch should be removed for 4.0.0 as fixed
+upstream by changing @includedir@ definition.
+
+Index: tesseract.pc.in
+--- tesseract.pc.in.orig
++++ tesseract.pc.in
+@@ -4,7 +4,7 @@ bindir=@bindir@
+ datarootdir = @datarootdir@
+ datadir=@datadir@
+ libdir=@libdir@
+-includedir=@includedir@
++includedir=@prefix@/include
+
+ Name: @PACKAGE_NAME@
+ Description: An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google.
+@@ -13,4 +13,4 @@ Version: @VERSION@
+ Requires.private: lept
+ Libs: -L${libdir} -ltesseract
+ Libs.private: -lpthread @OPENCL_LDFLAGS@
+-Cflags: -I${includedir}
++Cflags: -I${includedir} -I${includedir}/tesseract



Reply | Threaded
Open this post in threaded view
|

Re: graphics/tesseract pkg-config --cflags

Stuart Henderson
On 2019/01/07 17:29, Raphael Graf wrote:
> Ok, I have successfully compile-tested those four ports.
> Here is an updated diff:

Thanks, committed.

>
> Index: tesseract/Makefile
> ===================================================================
> RCS file: /cvs/ports/graphics/tesseract/tesseract/Makefile,v
> retrieving revision 1.16
> diff -u -p -u -p -r1.16 Makefile
> --- tesseract/Makefile 4 Sep 2018 12:46:14 -0000 1.16
> +++ tesseract/Makefile 7 Jan 2019 16:07:34 -0000
> @@ -4,7 +4,7 @@ COMMENT= OCR Engine developed at HP Labs
>
>  GH_PROJECT= tesseract
>  GH_TAGNAME= 3.05.02
> -REVISION= 1
> +REVISION= 2
>
>  SHARED_LIBS +=  tesseract            3.2      # 3.5
>
> Index: tesseract/patches/patch-tesseract_pc_in
> ===================================================================
> RCS file: tesseract/patches/patch-tesseract_pc_in
> diff -N tesseract/patches/patch-tesseract_pc_in
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ tesseract/patches/patch-tesseract_pc_in 7 Jan 2019 16:07:34 -0000
> @@ -0,0 +1,24 @@
> +$OpenBSD$
> +
> +Add -I/usr/local/include to include path. Typical users include headers
> +with "#include <tesseract/XX.h>". Patch should be removed for 4.0.0 as fixed
> +upstream by changing @includedir@ definition.
> +
> +Index: tesseract.pc.in
> +--- tesseract.pc.in.orig
> ++++ tesseract.pc.in
> +@@ -4,7 +4,7 @@ bindir=@bindir@
> + datarootdir = @datarootdir@
> + datadir=@datadir@
> + libdir=@libdir@
> +-includedir=@includedir@
> ++includedir=@prefix@/include
> +
> + Name: @PACKAGE_NAME@
> + Description: An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google.
> +@@ -13,4 +13,4 @@ Version: @VERSION@
> + Requires.private: lept
> + Libs: -L${libdir} -ltesseract
> + Libs.private: -lpthread @OPENCL_LDFLAGS@
> +-Cflags: -I${includedir}
> ++Cflags: -I${includedir} -I${includedir}/tesseract
>
>
>