Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update fontconfig and freetype #36371

Merged
merged 3 commits into from Mar 16, 2018
Merged

Update fontconfig and freetype #36371

merged 3 commits into from Mar 16, 2018

Conversation

abbradar
Copy link
Member

@abbradar abbradar commented Mar 6, 2018

Motivation for this change

Update packages. Okay, truth be told: to get color emojis!

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

I'm not sure why don't we use gperf as a build input and instead resort to hacks. @vcunat?

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Partial log (click to expand)

strip is /nix/store/ki5nz16mh8h8qngsxi6wfr38ifzi064i-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/2qjckflj6hbnvnsrss4hsmsyj9nfnc60-fontconfig-2.12.6-lib/lib 
patching script interpreter paths in /nix/store/2qjckflj6hbnvnsrss4hsmsyj9nfnc60-fontconfig-2.12.6-lib
checking for references to /tmp/nix-build-fontconfig-2.12.6.drv-0 in /nix/store/2qjckflj6hbnvnsrss4hsmsyj9nfnc60-fontconfig-2.12.6-lib...
shrinking RPATHs of ELF executables and libraries in /nix/store/1qfq55n6mfphl6q7px1m5frm1s4x5nwc-fontconfig-2.12.6
strip is /nix/store/ki5nz16mh8h8qngsxi6wfr38ifzi064i-binutils-2.28.1/bin/strip
patching script interpreter paths in /nix/store/1qfq55n6mfphl6q7px1m5frm1s4x5nwc-fontconfig-2.12.6
checking for references to /tmp/nix-build-fontconfig-2.12.6.drv-0 in /nix/store/1qfq55n6mfphl6q7px1m5frm1s4x5nwc-fontconfig-2.12.6...
/nix/store/3hl5a1z7gbzz2k9wyypn8alzs1gpjjjx-fontconfig-2.12.6-bin
/nix/store/pxqjnlhr35hgwcs0hszblb466svxrxif-freetype-2.9

@abbradar abbradar requested review from vcunat and ttuegel and removed request for vcunat March 6, 2018 10:30
@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Partial log (click to expand)

strip is /nix/store/3l67pallq6xda4rgygnpaj8rhcqvzh6d-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/5cqkhinjrr43cx31wa26ysk58bgcw8wh-fontconfig-2.12.6-lib/lib
patching script interpreter paths in /nix/store/5cqkhinjrr43cx31wa26ysk58bgcw8wh-fontconfig-2.12.6-lib
checking for references to /build in /nix/store/5cqkhinjrr43cx31wa26ysk58bgcw8wh-fontconfig-2.12.6-lib...
shrinking RPATHs of ELF executables and libraries in /nix/store/3y4cc9fd93k1i8snn63ci33m98yjs6ms-fontconfig-2.12.6
strip is /nix/store/3l67pallq6xda4rgygnpaj8rhcqvzh6d-binutils-2.28.1/bin/strip
patching script interpreter paths in /nix/store/3y4cc9fd93k1i8snn63ci33m98yjs6ms-fontconfig-2.12.6
checking for references to /build in /nix/store/3y4cc9fd93k1i8snn63ci33m98yjs6ms-fontconfig-2.12.6...
/nix/store/1slfr2s78fhb274ns6rgs6fpjd3f8wcf-fontconfig-2.12.6-bin
/nix/store/gnawh6jy9m5darf30a6z3gr57dj7ylbh-freetype-2.9

@jtojnar
Copy link
Contributor

jtojnar commented Mar 6, 2018

See also #29704 and #33995

@abbradar
Copy link
Member Author

abbradar commented Mar 6, 2018

@jtojnar Thanks, it seems I need to use search better.

@abbradar abbradar closed this Mar 6, 2018
@jtojnar
Copy link
Contributor

jtojnar commented Mar 6, 2018

We could also close the other PRs since they are inactive and outdated.

@abbradar
Copy link
Member Author

abbradar commented Mar 6, 2018

At least freetype one is not actually outdated and the other one could be easily rebased -- I usually prefer "first one wins" in this case. Either way I'm now building Firefox to test #29704 (with newer freetype) -- let's see if the issue still stands.

@abbradar
Copy link
Member Author

abbradar commented Mar 7, 2018

Reopening because I have fontconfig 2.15.6 here.

@abbradar abbradar reopened this Mar 7, 2018
@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Partial log (click to expand)

/nix/store/1slfr2s78fhb274ns6rgs6fpjd3f8wcf-fontconfig-2.12.6-bin
/nix/store/gnawh6jy9m5darf30a6z3gr57dj7ylbh-freetype-2.9

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Partial log (click to expand)

strip is /nix/store/ki5nz16mh8h8qngsxi6wfr38ifzi064i-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/2qjckflj6hbnvnsrss4hsmsyj9nfnc60-fontconfig-2.12.6-lib/lib 
patching script interpreter paths in /nix/store/2qjckflj6hbnvnsrss4hsmsyj9nfnc60-fontconfig-2.12.6-lib
checking for references to /tmp/nix-build-fontconfig-2.12.6.drv-0 in /nix/store/2qjckflj6hbnvnsrss4hsmsyj9nfnc60-fontconfig-2.12.6-lib...
shrinking RPATHs of ELF executables and libraries in /nix/store/1qfq55n6mfphl6q7px1m5frm1s4x5nwc-fontconfig-2.12.6
strip is /nix/store/ki5nz16mh8h8qngsxi6wfr38ifzi064i-binutils-2.28.1/bin/strip
patching script interpreter paths in /nix/store/1qfq55n6mfphl6q7px1m5frm1s4x5nwc-fontconfig-2.12.6
checking for references to /tmp/nix-build-fontconfig-2.12.6.drv-0 in /nix/store/1qfq55n6mfphl6q7px1m5frm1s4x5nwc-fontconfig-2.12.6...
/nix/store/3hl5a1z7gbzz2k9wyypn8alzs1gpjjjx-fontconfig-2.12.6-bin
/nix/store/pxqjnlhr35hgwcs0hszblb466svxrxif-freetype-2.9

@abbradar
Copy link
Member Author

@volth (Responding here as I'd like to pursue merging this one -- it has newer fontconfig) I'd like to get response from @vcunat on gperf first -- I feel I miss something otherwise it's strange we used hacks for such a long time.

@abbradar
Copy link
Member Author

Ah, wait, @vcunat has already dropped this hack in his own PR.

We can proceed then I think -- I'll merge this in couple of days unless someone objects.

@vcunat
Copy link
Member

vcunat commented Mar 14, 2018

The reason was general avoidance of unnecessary build-time closure bloat. Very many packages depend on fontconfig (transitively), so every addition might be noticeable on mass rebuilds – e.g. everything having to wait on some more packages before fontconfig build starts, and everything having to rebuild if gperf is updated.

@abbradar
Copy link
Member Author

@vcunat Ah, got it. It seems gperf is updated very rarely though -- the last update was in January 2017 and before that in February 2009. It also doesn't depend on anything so I'm inclined to just use it.

@abbradar
Copy link
Member Author

@volth From reading https://www.freetype.org/patents.html and ft_option.h the patch for subpixel rendering is still applicable -- what am I missing?

We'd probably want to use those patches in Chromium too, yeah (but that's out of scope of this patchset).

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: fontconfig, freetype, grub2

Partial log (click to expand)

wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
moving /nix/store/0qcvz9dqgs58f8nz59ip1gdvl1n21c3q-grub-2.02/sbin/* to /nix/store/0qcvz9dqgs58f8nz59ip1gdvl1n21c3q-grub-2.02/bin

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: fontconfig, freetype

The following builds were skipped because they don't evaluate on x86_64-darwin: grub2

Partial log (click to expand)

strip is /nix/store/vb6mgjqgd9h11nbv60fvrp1ls9nxck2y-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/pigg6m8xklgrxb0lml9hb2pl82ighl81-fontconfig-2.12.6-dev/lib
patching script interpreter paths in /nix/store/pigg6m8xklgrxb0lml9hb2pl82ighl81-fontconfig-2.12.6-dev
strip is /nix/store/vb6mgjqgd9h11nbv60fvrp1ls9nxck2y-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/vzk89phi693as3j0wnssvi5qn4pw1k3n-fontconfig-2.12.6-lib/lib
patching script interpreter paths in /nix/store/vzk89phi693as3j0wnssvi5qn4pw1k3n-fontconfig-2.12.6-lib
strip is /nix/store/vb6mgjqgd9h11nbv60fvrp1ls9nxck2y-cctools-binutils-darwin/bin/strip
patching script interpreter paths in /nix/store/6ckaayx9giijqb2n32kdrl3prbvj0g3r-fontconfig-2.12.6
/nix/store/w3bcmg4k1fvbywxv5v7dj5zw8xf6dwx3-fontconfig-2.12.6-bin
/nix/store/5fxb0wnr1343k4xxig6barl8h73a1h75-freetype-2.9

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: fontconfig, freetype, grub2

Partial log (click to expand)

wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
moving /nix/store/74g9ih8diskgjv9bs4qk9v71z08jwi3x-grub-2.02/sbin/* to /nix/store/74g9ih8diskgjv9bs4qk9v71z08jwi3x-grub-2.02/bin
/nix/store/fzcsd3q4lq7qrvbhfl5nz1bl5rpgmn4c-fontconfig-2.12.6-bin
/nix/store/8ash93v9z0ils3izmhrxmrvqkigiwwwr-freetype-2.9
/nix/store/74g9ih8diskgjv9bs4qk9v71z08jwi3x-grub-2.02

@abbradar
Copy link
Member Author

@volth Ah, I see. It's interesting they reverted their behaviour to the old one now. BTW, would you like me to take your (optional) patch for disabling hinting in too?

@abbradar
Copy link
Member Author

On the second thought let's merge this now to get it into staging sooner -- we can add optional patches painlessly after that.

@abbradar abbradar merged commit 1c30c8d into NixOS:staging Mar 16, 2018
@abbradar abbradar mentioned this pull request Mar 16, 2018
8 tasks
@7c6f434c
Copy link
Member

7c6f434c commented Mar 21, 2018 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants