mesonbuild / mesonwrap

Meson wraps service and tools, please use https://github.com/mesonbuild/wrapdb for wraps issues
https://wrapdb.mesonbuild.com
Apache License 2.0
26 stars 7 forks source link

new wrap: freetype2 #74

Closed bsmiles32 closed 5 years ago

bsmiles32 commented 5 years ago

upstream url: http://git.savannah.gnu.org/cgit/freetype/freetype2.git/ version: 2.9.1

I've started wrapping the library freetype2 here: https://github.com/bsmiles32/freetype2-wrap (I already had a repo named freetype2, that's why I had to add -wrap suffix, but according to your naming rules the repo should be named freetype2 as it is the name of the pkg-config file).

Once the repo is created I'll create appropriate PR. Thanks

nirbheek commented 5 years ago

There's a full meson port of freetype2 here: https://github.com/centricular/freetype2 can you try that?

bsmiles32 commented 5 years ago

OK, I've tried the centricular repo and it works for me. Also it seems a much more appropriate port to meson than what I did. Thanks a lot for your answer.

Shall we close this issue ? or shall we proceed to make a proper wrap so that other users won't miss it like I did ?

nirbheek commented 5 years ago

If you could test that meson port on all the platforms you use and then submit a wrap that uses the build files from that repo, it would be great :)

There's also centricular ports for fontconfig, harfbuzz, pixman, cairo, etc, in case you're interested in those too. We're working on getting them upstreamed, and testing them on more platforms is a requirement for doing that.

bsmiles32 commented 5 years ago

My use case is [1] if you want to take a look. I've tested on my machine (x64, Archlinux) and it compiles and runs successfully. In our CI it compiles successfully on AppVeyor (Windows x86 and x64) but I can't test if the produced executable runs OK as I don't have windows machine.

I will update my original port to use the centricular files instead. Can you create the freetype2 repo so I can do proper PR ?

[1] https://github.com/bsmiles32/mupen64plus-core/tree/meson

bsmiles32 commented 5 years ago

https://github.com/bsmiles32/freetype2-wrap is now updated with centricular files.

bsmiles32 commented 5 years ago

Also couple of remarks:

  1. https://github.com/bsmiles32/freetype2-wrap/blob/7fadcb02b347c0a53708329da3c19dd8f3d7eaea/meson.build#L127: should we use

    if cc.get_id() == 'msvc'

    as the macros below (_CRT_xxxx) are tied to msvc compiler more than windows ?

  2. should we add

    license : ['GPL2', 'FTL']

    to initial project declaration ? The project is dual-licensed https://www.freetype.org/license.html

If so I will update my repo accordingly.

bsmiles32 commented 5 years ago

It also works on my Raspberry Pi 3 (Aarch64).

sarum9in commented 5 years ago

I am more inclined to name it freetype2 as it seems to be the actual name of the project, but interestingly it has freetype_dep as the name of the dependency. @koponomarenko you might want to take a look at this project as you were looking into the naming policy. This case it is an external project so we can't really enforce it here.

sarum9in commented 5 years ago

https://github.com/mesonbuild/freetype2 / 2.9.1 was created.

koponomarenko commented 5 years ago

@sarum9in , yeah, I see ... . I second your opinion about freetype2 name being more logical. As for the dependency variable name, maybe we can reach out upstream and suggest to change it. Just a suggestion, no enforcement. If it's not the case and freetype_dep doesn't become freetype2_dep, then ... oh well ... just leave it there and hope maybe this will change in future.