Giter Club home page Giter Club logo

Comments (4)

Gnimuc avatar Gnimuc commented on August 16, 2024

do you mean pango needs a custom freetype shipping with an additional header called hb-ft.h(harfbuzz do not need to be a dependency of pango) or pango needs harfbuzz(hb-ft.h) as its dependency which in turn depends on freetype(no custom freetype is needed)?

If it's the first case, we could build a custom freetype in another branch of FreeTypeBuilder:

  1. when building harfbuzz, add FreeTypeBuilder's build script as its binary dependency
  2. upload harfbuzz's build script to a project, say, HarfbuzzBuilder
  3. build the custom freetype and add harfbuzz's build script as its binary dependency
  4. the output should include the header
  5. build pango

If it's the second case, we could add both HarfbuzzBuilder and FreeTypeBuilder as the binary dependencies when building pango.

Even if pango needs both harfbuzz(depends on a common freetype) and a custom freetype as its dependencies, I guess it's also possible to do the job(use a different product/lib name for the custom freetype).

BTW, you may need to use this method to workaround JuliaPackaging/BinaryBuilder.jl#194

from freetypebuilder.

bjarthur avatar bjarthur commented on August 16, 2024

i've tried the second and it doesn't work (complains it can't find hb-ft.h and no wonder because find / -name hb-ft.h returns nothing), so i think it's the former. will try building a custom freetype as you describe. i've already got https://github.com/bjarthur/HarfbuzzBuilder , but guess will have to rebuild it with FreeTypeBuilder as a dependency.

from freetypebuilder.

bjarthur avatar bjarthur commented on August 16, 2024

i've rebuilt Harbuzz with a FreeType dependency. and rebuilt FreeType with dependencies on both itself and Harfbuzz. the configure/make/install cycle produced no errors, but the BinaryBuilder wizard is reporting that there are no build products:

			# Step 4: Select build products

ERROR: The build has produced no binary artifacts.
       This is generally because an error occured during the build
       or because you forgot to `make install` or equivalent.

How would you like to proceed?
 > Return to build environment
   Retry with a clean build environment
   Edit the script

when i execute FreeTypeBuilder/build_tarballs.jl on the command line it finishes really quickly and outputs empty tar files:

arthurb-lm4:FreeTypeBuilder arthurb$ tar xvzfO products/FreeType2.v2.9.1.x86_64-linux-gnu.tar.gz
x ./
x ./bin/
x ./include/
x ./lib/
x ./manifests/
x ./share/
x ./share/gtk-doc/
x ./share/gtk-doc/html/
x ./lib/cmake/

perhaps @staticfloat is the best person to ask?

from freetypebuilder.

staticfloat avatar staticfloat commented on August 16, 2024

I'm not sure I understand what you're trying to do with freetype and harfbuzz; you should never need to build a circular dependency like that.

I like to use Homebrew formulae (and also Arch PKGBUILD files) as guides, since they are often quite simple and straightforward to understand. Looking at their freetype, harfbuzz and pango formulae, it looks to me like there's no need for a FreeType that requires Harfbuzz.

Is there some feature that you require that would not be available with such a configuration?

from freetypebuilder.

Related Issues (1)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.