diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-01-10 07:13:44 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-01-12 14:07:16 +0000 |
commit | e2698550456abba83c6dcd5d5e5a9990a0b96f8a (patch) | |
tree | 79a56f0df3fa55e470d84b4dff6059fbf487ec18 /nixpkgs/pkgs/development/libraries/harfbuzz | |
parent | 1cdc42df888dc98c347e03bd942ed9825a55bcb3 (diff) | |
parent | 84d74ae9c9cbed73274b8e4e00be14688ffc93fe (diff) | |
download | nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.gz nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.bz2 nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.lz nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.xz nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.tar.zst nixlib-e2698550456abba83c6dcd5d5e5a9990a0b96f8a.zip |
Merge commit '84d74ae9c9cbed73274b8e4e00be14688ffc93fe'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/harfbuzz')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/harfbuzz/default.nix | 56 |
1 files changed, 34 insertions, 22 deletions
diff --git a/nixpkgs/pkgs/development/libraries/harfbuzz/default.nix b/nixpkgs/pkgs/development/libraries/harfbuzz/default.nix index c2a924c7e023..8110f13d14ca 100644 --- a/nixpkgs/pkgs/development/libraries/harfbuzz/default.nix +++ b/nixpkgs/pkgs/development/libraries/harfbuzz/default.nix @@ -1,27 +1,34 @@ -{ stdenv, fetchurl, pkgconfig, glib, freetype, cairo, libintl +{ stdenv, fetchFromGitHub, pkgconfig, glib, freetype, cairo, libintl +, meson, ninja +, gobject-introspection , icu, graphite2, harfbuzz # The icu variant uses and propagates the non-icu one. , ApplicationServices, CoreText , withCoreText ? false , withIcu ? false # recommended by upstream as default, but most don't needed and it's big , withGraphite2 ? true # it is small and major distros do include it -, python +, python3 +, gtk-doc, docbook-xsl-nons, docbook_xml_dtd_43 }: let - version = "2.6.4"; + version = "2.7.1"; inherit (stdenv.lib) optional optionals optionalString; + mesonFeatureFlag = opt: b: + "-D${opt}=${if b then "enabled" else "disabled"}"; in stdenv.mkDerivation { name = "harfbuzz${optionalString withIcu "-icu"}-${version}"; - src = fetchurl { - url = "https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.xz"; - sha256 = "04iwq13w6zkdhljmsxrzgg4fyh04qnwfn57rgrl9kmijc7cvh4wl"; + src = fetchFromGitHub { + owner = "harfbuzz"; + repo = "harfbuzz"; + rev = version; + sha256 = "172jmwp666xbs6yy1pc2495gnkz8xw11b8zkz3j19jxlvvp4mxcs"; }; postPatch = '' - patchShebangs src/gen-def.py + patchShebangs src/*.py patchShebangs test '' + stdenv.lib.optionalString stdenv.isDarwin '' # ApplicationServices.framework headers have cast-align warnings. @@ -29,17 +36,26 @@ stdenv.mkDerivation { --replace '#pragma GCC diagnostic error "-Wcast-align"' "" ''; - outputs = [ "out" "dev" ]; + outputs = [ "out" "dev" "devdoc" ]; outputBin = "dev"; - configureFlags = [ - # not auto-detected by default - "--with-graphite2=${if withGraphite2 then "yes" else "no"}" - "--with-icu=${if withIcu then "yes" else "no"}" - ] - ++ stdenv.lib.optional withCoreText "--with-coretext=yes"; + mesonFlags = [ + (mesonFeatureFlag "graphite" withGraphite2) + (mesonFeatureFlag "icu" withIcu) + (mesonFeatureFlag "coretext" withCoreText) + ]; - nativeBuildInputs = [ pkgconfig libintl ]; + nativeBuildInputs = [ + meson + ninja + gobject-introspection + libintl + pkgconfig + python3 + gtk-doc + docbook-xsl-nons + docbook_xml_dtd_43 + ]; buildInputs = [ glib freetype cairo ] # recommended by upstream ++ stdenv.lib.optionals withCoreText [ ApplicationServices CoreText ]; @@ -48,11 +64,10 @@ stdenv.mkDerivation { ++ optional withGraphite2 graphite2 ++ optionals withIcu [ icu harfbuzz ]; - checkInputs = [ python ]; - doInstallCheck = false; # fails, probably a bug + doCheck = true; # Slightly hacky; some pkgs expect them in a single directory. - postInstall = optionalString withIcu '' + postFixup = optionalString withIcu '' rm "$out"/lib/libharfbuzz.* "$dev/lib/pkgconfig/harfbuzz.pc" ln -s {'${harfbuzz.out}',"$out"}/lib/libharfbuzz.la ln -s {'${harfbuzz.dev}',"$dev"}/lib/pkgconfig/harfbuzz.pc @@ -64,12 +79,9 @@ stdenv.mkDerivation { meta = with stdenv.lib; { description = "An OpenType text shaping engine"; - homepage = "http://www.freedesktop.org/wiki/Software/HarfBuzz"; - downloadPage = "https://www.freedesktop.org/software/harfbuzz/release/"; + homepage = "https://harfbuzz.github.io/"; maintainers = [ maintainers.eelco ]; license = licenses.mit; platforms = with platforms; linux ++ darwin; - inherit version; - updateWalker = true; }; } |