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

harfbuzz: enable support for gobject-introspection #93799

Conversation

cdepillabout
Copy link
Member

@cdepillabout cdepillabout commented Jul 25, 2020

Motivation for this change

Update harfbuzz to be able to produce gobject-introspection files.

With this PR:

$ nix-build -A harfbuzz
/nix/store/v8ygn64zxbfwr2izykc5jhl4zzyfh7s3-harfbuzz-2.6.7
$ ls /nix/store/v8ygn64zxbfwr2izykc5jhl4zzyfh7s3-harfbuzz-2.6.7/lib/girepository-1.0/
HarfBuzz-0.0.typelib

This HarfBuzz-0.0.typelib has been newly generated.

These *.typelib files are used by languages that generate bindings automatically. For instance, the Haskell package gi-harfbuzz uses this: https://hackage.haskell.org/package/gi-harfbuzz

If --enable-introspection is not enabled in harfbuzz, then packages like gi-harfbuzz are not able to be built.

This is similar to how packages like vte automatically produce bindings.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • 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 nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@cdepillabout
Copy link
Member Author

@GrahamcOfBorg build harfbuzz

@jtojnar
Copy link
Contributor

jtojnar commented Jul 25, 2020

Also part of #91777

@cdepillabout cdepillabout mentioned this pull request Jul 25, 2020
10 tasks
@cdepillabout
Copy link
Member Author

@jtojnar So should close this in favor of #91777 then?

Or, I could wait until #91777 is merged in, then just rebase this on top of it.

(cc @rnhmjoj)

@jtojnar
Copy link
Contributor

jtojnar commented Jul 25, 2020

I would merge whatever manages to finish the darwin build sooner.

By the way, could you change the target branch to staging?

@cdepillabout cdepillabout changed the base branch from master to staging July 25, 2020 07:45
@cdepillabout cdepillabout force-pushed the cdepillabout/harfbuzz-enable-introspection branch from a2b0f28 to 847fc1c Compare July 25, 2020 07:47
@cdepillabout
Copy link
Member Author

Rebased on staging. Sorry for the noise everyone.

@cdepillabout
Copy link
Member Author

@jtojnar I have an OSX machine I used to test this:

$ uname -a
Darwin my-macmini 18.7.0 Darwin Kernel Version 18.7.0: Tue Aug 20 16:57:14 PDT 2019; root:xnu-4903.271.2~2/RELEASE_X86_64 x86_64 i386 Macmini8,1 Darwin
$ nix-build -A harfbuzz -A harfbuzzFull
/nix/store/vm9dib0ixwqlbwa08wv3gsywn00bw817-harfbuzz-2.6.7
/nix/store/gnhqlhz91n0v5dczwhwxrnfgmf1i5pyw-harfbuzz-icu-2.6.7

I've tested this on Linux as well.

Copy link
Contributor

@jtojnar jtojnar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM then.

@cdepillabout cdepillabout merged commit 4f5bce5 into NixOS:staging Jul 25, 2020
@cdepillabout cdepillabout deleted the cdepillabout/harfbuzz-enable-introspection branch July 25, 2020 08:19
jtojnar added a commit that referenced this pull request Mar 25, 2021
They were already failing on master (with pango 1.47 and gjs 1.66):

	(process:1186): Gjs-CRITICAL **: 12:36:09.500: JS ERROR: Error: Requiring Gtk, version 3.0: Typelib file for namespace 'HarfBuzz', version '0.0' not found
machine # @/nix/store/mca5jqi26f3h3s78p54bp59x4klyrch5-gjs-1.66.2-installedTests/libexec/installed-tests/gjs/js/testLegacyGObject.js:9:13

HarfBuzz is likely pulled in through Pango. Possibly introduced in #93799. But then why did not I notice that in GNOME 3.38 bump?
jtojnar added a commit that referenced this pull request Apr 12, 2021
They were already failing on master (with pango 1.47 and gjs 1.66):

	(process:1186): Gjs-CRITICAL **: 12:36:09.500: JS ERROR: Error: Requiring Gtk, version 3.0: Typelib file for namespace 'HarfBuzz', version '0.0' not found
machine # @/nix/store/mca5jqi26f3h3s78p54bp59x4klyrch5-gjs-1.66.2-installedTests/libexec/installed-tests/gjs/js/testLegacyGObject.js:9:13

HarfBuzz is likely pulled in through Pango. Possibly introduced in #93799. But then why did not I notice that in GNOME 3.38 bump?
jtojnar added a commit that referenced this pull request Apr 16, 2021
They were already failing on master (with pango 1.47 and gjs 1.66):

	(process:1186): Gjs-CRITICAL **: 12:36:09.500: JS ERROR: Error: Requiring Gtk, version 3.0: Typelib file for namespace 'HarfBuzz', version '0.0' not found
machine # @/nix/store/mca5jqi26f3h3s78p54bp59x4klyrch5-gjs-1.66.2-installedTests/libexec/installed-tests/gjs/js/testLegacyGObject.js:9:13

HarfBuzz is likely pulled in through Pango. Possibly introduced in #93799. But then why did not I notice that in GNOME 3.38 bump?
jtojnar added a commit that referenced this pull request Apr 16, 2021
They were already failing on master (with pango 1.47 and gjs 1.66):

	(process:1186): Gjs-CRITICAL **: 12:36:09.500: JS ERROR: Error: Requiring Gtk, version 3.0: Typelib file for namespace 'HarfBuzz', version '0.0' not found
machine # @/nix/store/mca5jqi26f3h3s78p54bp59x4klyrch5-gjs-1.66.2-installedTests/libexec/installed-tests/gjs/js/testLegacyGObject.js:9:13

HarfBuzz is likely pulled in through Pango. Possibly introduced in #93799. But then why did not I notice that in GNOME 3.38 bump?
jtojnar added a commit that referenced this pull request Apr 17, 2021
They were already failing on master (with pango 1.47 and gjs 1.66):

	(process:1186): Gjs-CRITICAL **: 12:36:09.500: JS ERROR: Error: Requiring Gtk, version 3.0: Typelib file for namespace 'HarfBuzz', version '0.0' not found
machine # @/nix/store/mca5jqi26f3h3s78p54bp59x4klyrch5-gjs-1.66.2-installedTests/libexec/installed-tests/gjs/js/testLegacyGObject.js:9:13

HarfBuzz is likely pulled in through Pango. Possibly introduced in #93799. But then why did not I notice that in GNOME 3.38 bump?
jtojnar added a commit that referenced this pull request Apr 25, 2021
They were already failing on master (with pango 1.47 and gjs 1.66):

	(process:1186): Gjs-CRITICAL **: 12:36:09.500: JS ERROR: Error: Requiring Gtk, version 3.0: Typelib file for namespace 'HarfBuzz', version '0.0' not found
machine # @/nix/store/mca5jqi26f3h3s78p54bp59x4klyrch5-gjs-1.66.2-installedTests/libexec/installed-tests/gjs/js/testLegacyGObject.js:9:13

HarfBuzz is likely pulled in through Pango. Possibly introduced in #93799. But then why did not I notice that in GNOME 3.38 bump?
jtojnar added a commit that referenced this pull request Apr 27, 2021
They were already failing on master (with pango 1.47 and gjs 1.66):

	(process:1186): Gjs-CRITICAL **: 12:36:09.500: JS ERROR: Error: Requiring Gtk, version 3.0: Typelib file for namespace 'HarfBuzz', version '0.0' not found
machine # @/nix/store/mca5jqi26f3h3s78p54bp59x4klyrch5-gjs-1.66.2-installedTests/libexec/installed-tests/gjs/js/testLegacyGObject.js:9:13

HarfBuzz is likely pulled in through Pango. Possibly introduced in #93799. But then why did not I notice that in GNOME 3.38 bump?
jtojnar added a commit that referenced this pull request Apr 27, 2021
They were already failing on master (with pango 1.47 and gjs 1.66):

	(process:1186): Gjs-CRITICAL **: 12:36:09.500: JS ERROR: Error: Requiring Gtk, version 3.0: Typelib file for namespace 'HarfBuzz', version '0.0' not found
machine # @/nix/store/mca5jqi26f3h3s78p54bp59x4klyrch5-gjs-1.66.2-installedTests/libexec/installed-tests/gjs/js/testLegacyGObject.js:9:13

HarfBuzz is likely pulled in through Pango. Possibly introduced in #93799. But then why did not I notice that in GNOME 3.38 bump?
jtojnar added a commit that referenced this pull request Apr 29, 2021
They were already failing on master (with pango 1.47 and gjs 1.66):

	(process:1186): Gjs-CRITICAL **: 12:36:09.500: JS ERROR: Error: Requiring Gtk, version 3.0: Typelib file for namespace 'HarfBuzz', version '0.0' not found
machine # @/nix/store/mca5jqi26f3h3s78p54bp59x4klyrch5-gjs-1.66.2-installedTests/libexec/installed-tests/gjs/js/testLegacyGObject.js:9:13

HarfBuzz is likely pulled in through Pango. Possibly introduced in #93799. But then why did not I notice that in GNOME 3.38 bump?
jtojnar added a commit that referenced this pull request May 2, 2021
They were already failing on master (with pango 1.47 and gjs 1.66):

	(process:1186): Gjs-CRITICAL **: 12:36:09.500: JS ERROR: Error: Requiring Gtk, version 3.0: Typelib file for namespace 'HarfBuzz', version '0.0' not found
machine # @/nix/store/mca5jqi26f3h3s78p54bp59x4klyrch5-gjs-1.66.2-installedTests/libexec/installed-tests/gjs/js/testLegacyGObject.js:9:13

HarfBuzz is likely pulled in through Pango. Possibly introduced in #93799. But then why did not I notice that in GNOME 3.38 bump?
jtojnar added a commit that referenced this pull request May 5, 2021
They were already failing on master (with pango 1.47 and gjs 1.66):

	(process:1186): Gjs-CRITICAL **: 12:36:09.500: JS ERROR: Error: Requiring Gtk, version 3.0: Typelib file for namespace 'HarfBuzz', version '0.0' not found
machine # @/nix/store/mca5jqi26f3h3s78p54bp59x4klyrch5-gjs-1.66.2-installedTests/libexec/installed-tests/gjs/js/testLegacyGObject.js:9:13

HarfBuzz is likely pulled in through Pango. Possibly introduced in #93799. But then why did not I notice that in GNOME 3.38 bump?
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

2 participants