servo / servo/rust-harfbuzz

graphite2/icu api support

Open
#171 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
90
Forks
68
PR merge metrics
No merged PRs in 30d

Description

I have a really terrible set of patches, for building harfbuzz with graphite2/icu support,
and setting environment variables via CARGO_DEP_* so that further C libraries can link against everything,

graphite2 stuff is based upon a lightly modified version of @spl's graphite2-sys crate.

I guess I am curious what the appropriate route to upstreaming is (after getting rid of some of the terribleness),
I assume that I should implement cargo features for icu and graphite2, and control the --enable lines from features?

I haven't really used any sys libs with optional features before, so i'm curious if this is amicable to upstream...

https://github.com/servo/rust-harfbuzz/compare/master...ratmice:master

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the linked comparison and the issue's proposed Cargo features for graphite2 and icu. Trace how the --enable options and CARGO_DEP_* environment variables are handled, then confirm that the upstream approach builds with both optional integrations and exposes the required libraries for dependent C code.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.