Opened 10 years ago

Closed 7 years ago

Last modified 7 years ago

#2949 closed bug (fixed)

Missing freetype2 headers, the freetype-config tool and its pkg-config files are missing.

Reported by: scottmc Owned by: korli
Priority: normal Milestone: R1
Component: - General Version: R1/Development
Keywords: Cc: planche2k@…
Blocked By: Blocking: #3167
Has a Patch: no Platform: All

Description

Splitting this off from #1739 as it grew from the discussion. Freetype2 is part of Haiku, but the freetype2 headers, the freetype-config tool and its pkg-config files are missing. This makes it difficult to port things to Haiku that rely on the system having those in place. They don't need to be part of Haiku, but should at least be available as an optional package or part of the development package.

Attachments (1)

freetype2.pc (283 bytes) - added by michaelvoliveira 8 years ago.

Download all attachments as: .zip

Change History (29)

comment:1 Changed 10 years ago by andreasf

Cc: andreas.faerber@… added

comment:2 Changed 10 years ago by scottmc

This looks to be partially fixed in hrev28570, but still need the the config tool and pkg-config to be added.

comment:3 Changed 10 years ago by anevilyak

Blocking: 3167 added

(In #3167) Thanks for the note!

comment:4 Changed 10 years ago by scottmc

I've built and posted a freetype-2.3.7 binary for Haiku over on HaikuPorts, this package includes thee freetype2 headers, freetype-config tool and pkg-config files. So this could either be added as an optional package or the files can be pulled out of the binary zip and put into svn where needed. Once that is done this ticket can be closed out.

comment:5 Changed 10 years ago by korli

It's just the config tool and pkg-config should be tuned with /boot/develop/headers and /boot/develop/lib

comment:6 Changed 10 years ago by scottmc

I've taken another look at this one and seems using --libdir=/boot/develop/headers/3rdparty during ./configure does the trick. http://ports.haiku-files.org/wiki/media-libs/freetype/2.3.9/1

comment:7 in reply to:  6 Changed 10 years ago by bonefish

Replying to scottmc:

I've taken another look at this one and seems using --libdir=/boot/develop/headers/3rdparty during ./configure does the trick. http://ports.haiku-files.org/wiki/media-libs/freetype/2.3.9/1

Maybe that's different for freetype, but usually "--libdir" specifies the installation directory for libraries.

comment:8 in reply to:  6 Changed 10 years ago by korli

Replying to scottmc:

I've taken another look at this one and seems using --libdir=/boot/develop/headers/3rdparty during ./configure does the trick. http://ports.haiku-files.org/wiki/media-libs/freetype/2.3.9/1

bonefish is right, you might try using --includedir=/boot/develop/headers/3rdparty instead.

comment:9 Changed 10 years ago by scottmc

corrected.. i've updated the haikuports portlog entry to reflect this.

comment:10 Changed 10 years ago by korli

I added freetype-config in hrev30904. Should we use /boot/develop/abi/current for the prefix directory to be generic ?

comment:11 in reply to:  10 ; Changed 10 years ago by bonefish

Replying to korli:

I added freetype-config in hrev30904. Should we use /boot/develop/abi/current for the prefix directory to be generic ?

Nope, that isn't a prefix path, anyway.

comment:12 in reply to:  11 ; Changed 10 years ago by korli

Replying to bonefish:

Replying to korli:

I added freetype-config in hrev30904. Should we use /boot/develop/abi/current for the prefix directory to be generic ?

Nope, that isn't a prefix path, anyway.

Libs reside in /boot/develop/lib/x86/. Should we then customize the script with the arch ?

comment:13 in reply to:  12 ; Changed 10 years ago by bonefish

Replying to korli:

Replying to bonefish:

Replying to korli:

I added freetype-config in hrev30904. Should we use /boot/develop/abi/current for the prefix directory to be generic ?

Nope, that isn't a prefix path, anyway.

Libs reside in /boot/develop/lib/x86/. Should we then customize the script with the arch ?

I'm not quite sure, what the script is supposed to return. If it is the path for the linker, it should be /boot/develop/lib/x86 (for x86) or more generally /boot/develop/abi/current/lib. If it is the path where the library is located at runtime, it would be /system/lib.

Other then that, I think the prefix in the script is incorrect anyway, since with don't install freetype in /boot/common, but in /system.

comment:14 in reply to:  13 Changed 10 years ago by korli

Replying to bonefish:

Libs reside in /boot/develop/lib/x86/. Should we then customize the script with the arch ?

I'm not quite sure, what the script is supposed to return. If it is the path for the linker, it should be /boot/develop/lib/x86 (for x86) or more generally /boot/develop/abi/current/lib. If it is the path where the library is located at runtime, it would be /system/lib.

When used with --libs, it's supposed to return how to link : -L/boot/develop/lib/x86 -lfreetype -lz For the time being, we could use /boot/develop/abi/current/lib then.

Other then that, I think the prefix in the script is incorrect anyway, since with don't install freetype in /boot/common, but in /system.

Agreed, I committed it as is to have an initial version. I suppose in a Linux environment, runtime and link libraries are at the same place.

comment:15 Changed 10 years ago by andreasf

Cc: andreas.faerber@… removed

comment:16 Changed 10 years ago by andreasf

Cc: planche2k@… added

comment:17 Changed 9 years ago by scottmc

Is there anything left to do on this one? Freetype-2.3.11 is out now... Have the correct locations been ironed out yet?

comment:18 Changed 9 years ago by axeld

Owner: changed from axeld to nobody
Version: R1/pre-alpha1R1/Development

comment:19 Changed 9 years ago by scottmc

Resolution: fixed
Status: newclosed

I've updated the pathnames in freetype-config in hrev33649, and updated freetype in hrev33650, then built and tried building of sdl-ttf and it checked for both freetype-config and pkg-config and was happy to just find the freetype-config. I suspect in most cases packages will do this, that is check for both and if they find one will be happy with it. So unless there's a need for the pkg-config I'm ok with leaving it out and closing this ticket as fixed. The paths may (or may not) need adjusting if/when the time comes for addressing the arch issues listed above.

comment:20 Changed 9 years ago by michaelvoliveira

Resolution: fixed
Status: closedreopened

Please add freetype.pc file to /boot/common/pkgconfig folder

Changed 8 years ago by michaelvoliveira

Attachment: freetype2.pc added

comment:21 in reply to:  20 Changed 8 years ago by scottmc

Resolution: fixed
Status: reopenedclosed

Replying to michaelvoliveira:

Please add freetype.pc file to /boot/common/pkgconfig folder

Considered, but don't see a clear need for it. We have freetype-config, so if a port can't find freetype.pc is should fall back to freetye-config. If it doesn't, then open a trac ticket on HaikuPorts for the specific port and we'll take a closer look at the issue there.

Closing this as fixed.

comment:22 Changed 7 years ago by myob

Resolution: fixed
Status: closedreopened

Since hrev43873 the Freetype headers are no longer included but freetype-config still is.

The commit notes mention an optional package (and there is one listed in OptionalBuildFeatures), but there is none offered by installoptionalpackage

comment:23 Changed 7 years ago by anevilyak

Owner: changed from nobody to korli
Status: reopenedassigned

comment:25 Changed 7 years ago by scottmc

Resolution: fixed
Status: assignedclosed

All of the reported missing files are included in the most recent freetype packages.

comment:26 Changed 7 years ago by korli

Are you sure these missing files are actually installed on Haiku?

comment:27 Changed 7 years ago by scottmc

They are present in the .zip packages:
http://haiku-files.org/files/optional-packages/lib/freetype-2.4.9-r1a4-x86-gcc2-2012-08-28.zip

Might there be some changes needed to OptionalBuildFeatures to get all of the files from the zip package installed?

comment:28 Changed 7 years ago by korli

Added headers for libpng, jpeg and freetype in hrev44631.

Note: See TracTickets for help on using tickets.