Commit Graph

21855 Commits

Author SHA1 Message Date
Thomas Tuegel 8b50f4c990 Merge pull request #24299 from ttuegel/master--drop-qt-5.7
Drop Qt 5.5 and Qt 5.7 from master
2017-03-26 09:18:38 -05:00
ndowens 6c17ad677c
jasper: 2.0.10 -> 2.0.12 2017-03-26 08:20:27 -04:00
Leon Isenberg 65029beb38 libguestfs: add qemu to wrapped PATH
virt-df doesn't find qemu-img otherwise.
2017-03-26 14:10:36 +02:00
Franz Pletz d545772640
libvirt: make guest suspend work, use upstream units 2017-03-25 14:59:01 +01:00
Franz Pletz ddb608814a
libvirt: build with attr and apparmor 2017-03-25 14:58:26 +01:00
Volth 1cca97cf18
libvirt: 3.0.0 -> 3.1.0 2017-03-25 14:54:16 +01:00
Thomas Tuegel 3dc1a4ba8b
Remove Qt 5.5
The community support window for Qt 5.5 has ended. All packages should

- update to Qt 5.8, or
- pin to Qt 5.6 (the 3-year long-term support release), or
- for proprietary software, use the vendored libraries.
2017-03-25 08:49:40 -05:00
Thomas Tuegel b4e6351c78
Remove Qt 5.7
The community support window for Qt 5.7 has ended. All packages should

- update to Qt 5.8, or
- pin to Qt 5.6 (the 3-year long-term support release), or
- for proprietary software, use the vendored libraries.
2017-03-25 08:49:37 -05:00
Periklis Tsirakidis b97dd5f560 qt58: enable darwin compatibility 2017-03-25 09:48:17 +01:00
Vladimír Čunát 455ce3528c
Merge branch 'staging' 2017-03-24 21:07:55 +01:00
Robin Gloster dd385d9468
qt57.makeQtWrapper: fix eval 2017-03-24 18:20:01 +01:00
Nikolay Amiantov f45cf10f6e Merge pull request #24133 from abbradar/gtk3-qt
Fix GTK dependencies in wrappers
2017-03-24 01:49:41 +03:00
Vladimír Čunát c1a9dc3d37
Merge branch 'master' into staging 2017-03-23 13:31:28 +01:00
Jörg Thalheim 632e81083c
spice: 0.12.8 -> 0.13.3
(we can use upstream security patches again)
2017-03-23 13:02:57 +01:00
Vladimír Čunát e0bf35f0e5
Merge #24236: remove bbenoist from maintainers 2017-03-23 08:49:03 +01:00
Daniel Peebles f5aebcd465 Merge pull request #24216 from LnL7/fox-llvm-4
fox: fix build with clang >=4 and possibly other versions
2017-03-22 22:16:00 -04:00
Baptist BENOIST 7d72b9b74e Remove bbenoist from maintainers
Sorry guys but I did not used Nix since months and cannot spend time
maintaining my previous work...
2017-03-23 03:03:04 +01:00
Thomas Tuegel 6a1e5cc2fa
kdeFrameworks: 5.31 -> 5.32 2017-03-22 20:51:03 -05:00
Thomas Tuegel edf32f90e6
plasma5: 5.9.3 -> 5.9.4 2017-03-22 20:51:03 -05:00
Nikolay Amiantov 040b86a96e qt5.qtwebengine: use system libraries where possible
Fixes #23987.
2017-03-23 00:03:33 +03:00
Nikolay Amiantov 3a948e6b07 qt5.qtwebengine: add proprietary codecs support 2017-03-23 00:03:33 +03:00
Nikolay Amiantov 5a04d38ca6 srtp: build as shared library 2017-03-23 00:03:32 +03:00
Nikolay Amiantov 1715e3643b nss: propagate nspr 2017-03-23 00:03:32 +03:00
Nikolay Amiantov a7a858aa52 qt5.qtwebengine: patch more library paths
Adapted from chromium derivation. Fixes qutebrowser crash.
2017-03-23 00:00:50 +03:00
Daiderd Jordan be1c8c4d63
fox: fix build with clang >=4 and possibly other versions 2017-03-22 20:18:41 +01:00
Nikolay Amiantov a40b7d07e9 makeQtWrapper, kdeWrapper: add GTK3 dependencies 2017-03-22 20:15:32 +03:00
Robin Gloster 66c384ab4a
mailcore2: fix build with newer icu 2017-03-22 14:06:43 +01:00
Thomas Tuegel 7aee677a10
makeQtWrapper: wrap with runtime XDG dirs 2017-03-22 07:44:05 -05:00
Eelco Dolstra f0875982d1 Merge pull request #24203 from layus/nix-ssl-cert-file
git, curl, openssl: Refactor $NIX_SSL_CERT_FILE handling
2017-03-22 13:40:57 +01:00
Guillaume Maudoux c86f05e7ce openssl: default to default profile CA on darwin 2017-03-22 12:09:09 +01:00
Jörg Thalheim b5b036a4cc Merge pull request #24032 from orivej/gargoyle
gargoyle: init at 2017-03-12
2017-03-22 00:52:15 +01:00
Michael Weiss 4e29638323 Revert "gpgme: Drop multiple outputs (dev and info)"
This reverts commit 872770286d.

This will fix fwknop as well (should have done it like this in the first
place, where was my mind...).

Conclusion: Did something stupid... :o - I am *so incredibly sorry*,
will be way more careful (was already careful, but apparently not
enought...) next time and use nox.

Sorry @everyone and thanks @calvertvl for noticing this.
2017-03-21 23:57:57 +01:00
Nikolay Amiantov dec8fb077f qt5.qtwebengine: fix library paths
Without this it would try to find files in qtbase

Ported to Qt 5.8.
2017-03-22 01:38:04 +03:00
Michael Weiss 872770286d gpgme: Drop multiple outputs (dev and info)
This shouldn't break anything as currently neither dev nor info will be
generated anyway (since both directories don't actually exist at the
install phase - "mv bin dev" would produce the dev output).

This change is required for building fwknop with GnuPG support.
2017-03-21 22:43:00 +01:00
Vladimír Čunát 39eda57d2a
mesa: maintenance 17.0.1 -> 17.0.2 2017-03-21 20:11:31 +01:00
Nikolay Amiantov 328bcdae25 mesa: enable texture floats only for drivers
To be on more safe side. This shouldn't matter theoretically as nothing in core
Mesa depends on them.
2017-03-21 21:56:42 +03:00
Eelco Dolstra 98624f4afc Merge pull request #24162 from abbradar/texture-floats
mesa: enable texture floats by default
2017-03-21 17:20:14 +01:00
Nikolay Amiantov 261d7caed7 mesa: enable texture floats by default 2017-03-21 15:51:35 +03:00
Frederik Rietdijk 94eb74eaad Merge remote-tracking branch 'upstream/master' into HEAD 2017-03-21 13:04:37 +01:00
Dan Peebles 93005b82dc google-gflags: fix on Darwin
e721905d0f updated to a version that added
a BUILD file that breaks on case-insensitive filesystems.
2017-03-21 00:42:26 -04:00
Willi Butz 4bfde8f5b4 martyr: fixed build, removed build.sh, added meta (see #23253) 2017-03-21 00:01:13 +02:00
Robin Gloster 88341c4d2b
Revert "doc: remove double space"
This reverts commit 6393d43380.

Commit added too much changes.
2017-03-20 20:58:18 +01:00
Robin Gloster 6393d43380
doc: remove double space 2017-03-20 20:47:13 +01:00
Thomas Tuegel 1b0d9e9ae6 Merge pull request #23819 from ttuegel/freetype
FreeType 2.7.1 and Fontconfig defaults
2017-03-20 11:43:50 -05:00
Domen Kožar c3c9412c7d
git, openssl, curl: Respect $NIX_SSL_CERT_FILE
Slightly modified version of 942dbf89c6
2017-03-20 14:11:20 +01:00
Tuomas Tynkkynen 72dc9c7f80 Merge remote-tracking branch 'upstream/master' into staging 2017-03-20 07:07:03 +02:00
Joachim F 12e0e67ed0 Merge pull request #23903 from mbrgm/upgrade-inspectrum
inspectrum: 20160403 -> 20170218
2017-03-20 01:06:31 +01:00
Jörg Thalheim 48a7bfa345 Merge pull request #23944 from c0bw3b/pkg/nghttp2
nghttp2: 1.19.0 -> 1.20.0
2017-03-20 00:05:31 +01:00
Jörg Thalheim c23164eac6 Merge pull request #23943 from c0bw3b/pkg/jemalloc
jemalloc: 4.3.1 -> 4.5.0
2017-03-19 23:58:57 +01:00
Orivej Desh 9d38774a28 gargoyle: init at 2017-03-12 2017-03-19 22:36:29 +00:00
ndowens 3ac089757a Cosmetic change; Replaced automake autoconf 2017-03-19 16:50:06 -05:00
Guillaume Massé b00bfb0401 cre2: init at 0.3.0
c wrapper for google's re2 regex library
2017-03-19 17:26:15 -04:00
Jörg Thalheim 82e760a3d6
armadillo: fix evaluation error
cc: @ndowens08
2017-03-19 21:04:43 +01:00
ndowens e2be606300 Merge pull request #23736 from ndowens/armadillo
armadillo: 7.700.0 -> 7.800.1
2017-03-19 12:59:03 -05:00
ndowens d97e9ae720 Merge pull request #23778 from ndowens/cfitsio
cfitsio: 3.21 -> 3.41
2017-03-19 12:51:21 -05:00
ndowens 64d9947c76 cfitsio: 3.21 -> 3.41
cfitsio: Changed platforms to Linux, due to failing to build on Darwin

cfitsio: Fixed missing semicolon

cfitsio: Removed undefined variable
2017-03-19 12:45:37 -05:00
ndowens 41fa78b660 Merge pull request #24062 from ndowens/libevdev
libevdev: Fix url
2017-03-19 11:14:29 -05:00
ndowens 9f21f4578c libevdev: Fix url 2017-03-19 11:12:16 -05:00
Orivej Desh 3caba31f8e libircclient: disable on darwin 2017-03-19 17:16:44 +02:00
ndowens a6994dabb0 Merge pull request #23804 from ndowens/enginepkcs11
enginepkcs11: libp11 version 0.4.0 and above contain enginepkcs11
2017-03-19 10:16:06 -05:00
ndowens b51093a75e libevdev: 1.4.6 -> 1.5.6 (#23940) 2017-03-19 15:19:57 +01:00
Orivej Desh 583e862d11
qtbase-* nitpick: fix list nesting
Generalized from #24036, and leaving the authorship there.
2017-03-19 11:03:51 +01:00
Peter Hoeg b9173e4e8c libbluray: 0.9.2 -> 1.0.0 2017-03-19 09:48:22 +08:00
Michael Raskin 776614abb7 Merge pull request #24021 from orivej/libfixposix
libfixposix: 30b75609 -> 0.4.1
2017-03-18 21:33:50 +01:00
Michael Raskin 333c8c7782 icu_57: drop 2017-03-18 21:27:31 +01:00
Orivej Desh d992619de2 libfixposix: 30b75609 -> 0.4.1 2017-03-18 20:21:50 +00:00
Michael Raskin dd49357a19 Merge pull request #23967 from ndowens/umockdev
umockdev: init at 0.8.13
2017-03-18 20:31:24 +01:00
Michael Raskin 06db15a6cd Update default.nix 2017-03-18 20:30:47 +01:00
Michael Raskin 973fb15629 Merge pull request #23937 from ndowens/libdc
libdc1394: 2.2.3 -> 2.2.5
2017-03-18 20:00:11 +01:00
Michael Raskin e60eb600c2 Merge pull request #23909 from lsix/udate_gdal
gdal: 2.1.1 -> 2.1.3
2017-03-18 19:57:52 +01:00
Michael Raskin 6f73e8114f Merge pull request #23824 from ndowens/gssdp
gssdp: 0.14.11 -> 1.0.1
2017-03-18 19:55:05 +01:00
Michael Raskin 7701c03bac Merge pull request #23822 from ndowens/google-gflags
google-gflags: 2.1.2 -> 2.2.0
2017-03-18 19:54:32 +01:00
Michael Raskin 435f27cabe Merge pull request #23821 from ndowens/gmm
gmm: 4.3 -> 5.1
2017-03-18 19:54:04 +01:00
Michael Raskin 55cd5bc6f8 Merge pull request #23820 from ndowens/gloox
gloox: 1.0.14 -> 1.0.20
2017-03-18 19:53:15 +01:00
ndowens 112a91c2f7 enginepkcs11: libp11 version 0.4.0 and above contain enginepkcs11
enginepkcs11: Removed from all-packages.nix
2017-03-18 13:50:37 -05:00
Michael Raskin d6a60ef9e7 Merge pull request #23814 from ndowens/gecode
gecode: 4.4.0 -> 5.0.0
2017-03-18 19:50:14 +01:00
Michael Raskin 3d5c32273c Merge pull request #23811 from ndowens/filter-audio
filter-audio: 20150624 -> 0.0.1
2017-03-18 19:48:58 +01:00
Michael Raskin 53798100b5 Merge pull request #23808 from ndowens/fcppt
fcppt: 1.3.0 -> 2.5.0
2017-03-18 19:47:01 +01:00
Michael Raskin 153a3acb58 Merge pull request #23807 from ndowens/exosip
exosip: 4.0.0 -> 4.1.0
2017-03-18 19:44:21 +01:00
Michael Raskin f265acb91f Merge pull request #23805 from ndowens/exempi
exempi: 2.2.2 -> 2.4.2
2017-03-18 19:43:42 +01:00
Michael Raskin cc9bdcc217 Merge pull request #23802 from ndowens/libp11
libp11: 0.2.7 -> 0.4.4
2017-03-18 19:41:36 +01:00
Michael Raskin 1a47f96711 Update default.nix 2017-03-18 19:41:23 +01:00
Michael Raskin e58ab3011a Merge pull request #23792 from mimadrid/update/libzip-1.2.0
libzip: 1.1.2 -> 1.2.0
2017-03-18 19:39:04 +01:00
Michael Raskin 4524f13cd4 Merge pull request #23775 from ndowens/ceres-solver
ceres-solver: 1.10.0 -> 1.12.0
2017-03-18 19:38:07 +01:00
Michael Raskin 7adf4cc405 Merge pull request #23735 from ndowens/appstream
appstream: 0.9.5 -> 0.10.6
2017-03-18 19:23:26 +01:00
Michael Raskin aaaaf2829a Merge pull request #23731 from ndowens/coinmp
coinmp: 1.7.6 -> 1.8.3
2017-03-18 19:22:56 +01:00
Michael Raskin 5ee374908c Merge pull request #23728 from ndowens/libhttpseverywhere
libhttpseverywhere: 0.2.3 -> 0.2.10
2017-03-18 19:22:34 +01:00
Michael Raskin dfbd2dd659 Merge pull request #23624 from volth/virt-viewer-5.0
virt-viewer: 2.0 -> 5.0
2017-03-18 19:05:11 +01:00
Michael Raskin 4d5f33deff Merge pull request #23376 from bcdarwin/ants
ANTs: init at 2.1.0 (0gyys1lf) and update ITK accordingly
2017-03-18 18:42:24 +01:00
Michael Raskin 3d43e7157d Merge pull request #23303 from c0bw3b/pkg/libseccomp
libseccomp: 2.3.1  -> 2.3.2 + fixed scmp_sys_resolver
2017-03-18 18:37:21 +01:00
Michael Raskin 51a7553ea5 Merge pull request #18275 from taktoa/patch-1
libmsgpack: fixed mingw32 cross-build
2017-03-18 17:30:30 +01:00
Vladimír Čunát 742b120ddc
Merge branch 'master' into staging
Nontrivial rebuilds from master, again :-/
2017-03-18 11:00:31 +01:00
Frederik Rietdijk 976e5bfbd4 Merge pull request #23968 from ndowens/libibmad
libibmad: 1.3.12 -> 1.3.13
2017-03-18 09:09:15 +01:00
Joachim F aa5777df77 Merge pull request #23952 from joachifm/libsodium-bump
libsodium: 1.0.11 -> 1.0.12
2017-03-18 02:46:41 +01:00
Renaud 98edb24368 libseccomp: 2.3.1 -> 2.3.2 + fixed scmp_sys_resolver
`libseccomp` is updated to 2.3.2
`scmp_sys_resolver` is fixed (it could not find libseccomp.so.2 shared library before)
2017-03-17 22:10:50 +01:00
Emery Hemingway 7196d16e3f
shapelib: init at 1.4.0 2017-03-17 12:09:37 -05:00
michael bishop db05f414bd
qtmultimedia-5.7: disable alsa on darwin 2017-03-16 23:15:44 -03:00
ndowens c7826f4c9d libibmad: 1.3.12 -> 1.3.13 2017-03-16 19:42:45 -05:00
ndowens ed7fb7a265 bobcat: 4.02.00 -> 4.07.00 (#23742) 2017-03-17 00:41:33 +01:00
ndowens 7e902f5399 umockdev: init at 0.8.13
umockdev: all-packages cosmetic change
2017-03-16 18:05:13 -05:00
ndowens ca8a0e3c80
libbson:1.1.10 -> 1.6.1
libbson: Removed un-needed deps
2017-03-16 23:37:17 +01:00
Renaud a4c68ace9c jemalloc: 4.3.1 -> 4.5.0 2017-03-16 23:04:04 +01:00
Renaud 5f89c9e92d nghttp2: 1.19.0 -> 1.20.0
Corrected c-ares attribute name

Full changelog : https://nghttp2.org/blog/2017/02/26/nghttp2-v1-20-0/
2017-03-16 22:38:19 +01:00
ndowens 14315cf4f5 babl: 0.1.12 -> 0.1.24 2017-03-16 22:18:08 +01:00
Jörg Thalheim 7967c4aacf Merge pull request #23877 from ndowens/isocodes
iso-codes: 3.56 -> 3.74
2017-03-16 20:20:57 +01:00
ndowens 00b6d82001
libcouchbase: 2.5.2 -> 2.7.2
fixes #23932
2017-03-16 17:33:42 +01:00
ndowens 3cecb95a9d
libdap: 3.15.1 -> 3.18.3 2017-03-16 17:23:03 +01:00
Jörg Thalheim e82ca0fa01 Merge pull request #23938 from ndowens/libdiscid
libdiscid: 0.6.1 -> 0.6.2
2017-03-16 17:15:41 +01:00
Joachim Fasting c317e5c85d
ldns: split man pages
Saves ~1.8MB
2017-03-16 16:15:31 +01:00
Joachim Fasting 3fac05b951
libsodium: 1.0.11 -> 1.0.12 2017-03-16 15:54:20 +01:00
Jörg Thalheim 1d36642fdf Merge pull request #23941 from ndowens/libextractor
libextractor: 1.2 -> 1.3
2017-03-16 14:23:04 +01:00
Cray Elliott f60fec99d1 SDL2_mixer: add optional fluidsynth support
also add flac support and mp3 support, and add myself as the maintainer,
since there is no current maintainer for this package
2017-03-15 20:44:54 -07:00
ndowens a89e9e999b libextractor: 1.2 -> 1.3 2017-03-15 18:19:11 -05:00
ndowens a1ea2879f8 libdiscid: 0.6.1 -> 0.6.2 2017-03-15 16:35:49 -05:00
ndowens 1b67435626 libdc1394: 2.2.3 -> 2.2.5 2017-03-15 16:15:42 -05:00
Daiderd Jordan 373d83516a Merge pull request #23918 from ashgillman/patch-2
ITK builds on darwin
2017-03-15 21:41:52 +01:00
Vladimír Čunát e99bc64552
Merge branch 'master' into staging
More larger rebuilds from master, unfortunately.
2017-03-15 19:09:56 +01:00
Ashley Gillman e7dca2c230 ITK build on darwin 2017-03-15 22:41:20 +10:00
David McFarland 1ea6860cc7 icu: fix crash in firefox
Fixes #23857
2017-03-15 08:49:56 -03:00
Marius Bergmann ee69ee419b liquid-dsp: init at 20170307
liquid-dsp is a dependency for the latest git version of inspectrum, therefore I
added it in order to be able to upgrade inspectrum.
2017-03-14 23:42:18 +01:00
Bjørn Forsman db937b9d60 qt57.full: add missing modules
qtquickcontrols2, qtwebchannel, qtwebengine, qtwebkit.

Added in the same order as the modules are listed in default.nix (and
then reformatted the block).
2017-03-14 22:27:20 +01:00
Bjørn Forsman 961c73a78c qt56.full: add missing modules
qtquickcontrols2, qtwebkit.

Added in the same order as the modules are listed in default.nix (and
then reformatted the block).

(The qt55 expression already has all modules in *full.)
2017-03-14 22:27:20 +01:00
Markus Schneider cbf87bc2b2 granite: 0.3.0 -> 0.4.0.1 2017-03-14 22:26:19 +01:00
ndowens e721905d0f google-gflags: 2.1.2 -> 2.2.0
google-gflags: Changed homepage
2017-03-14 16:04:27 -05:00
Lancelot SIX 4f644cd004
gdal: 2.1.1 -> 2.1.3 2017-03-14 17:59:07 +01:00
Robin Gloster 770794cbfe
urt: remove 2017-03-14 14:41:28 +01:00
Frederik Rietdijk bf86b48b0f Merge pull request #23813 from ndowens/geis
geis: 2.2.16 -> 2.2.17
2017-03-14 13:39:36 +01:00
Frederik Rietdijk 5f837b1b94 Merge pull request #23867 from ndowens/htmlcxx
htmlcxx: 0.85 -> 0.86
2017-03-14 13:38:30 +01:00
Frederik Rietdijk 8c99040a7a Merge pull request #23826 from ndowens/gtkspell
gtkspell:3.0.8 -> 3.0.9
2017-03-14 13:36:42 +01:00
Frederik Rietdijk 683dc8cb4f Merge pull request #23810 from ndowens/ffms2
ffms: 2.21 -> 2.22
2017-03-14 13:32:46 +01:00
Daiderd Jordan dcfff701dc Merge pull request #23835 from periklis/topic_qt57_submodules_darwin
qt57.{qtdeclarative,qtscript,qttranslations}: fix darwin compat
2017-03-14 12:36:22 +01:00
ndowens d46fe334ca
ffmpegthumbnailer: 2.0.10 -> 2.2.0 2017-03-14 09:41:24 +01:00
Periklis Tsirakidis a6be98c9c1 qt57.{qtdeclarative,qtscript,qttranslations}: fix darwin compat
Fixes duplicate linkings issue for Qt-Frameworks provided by qtbase
during configurePhase.
2017-03-14 09:37:37 +01:00
Volth d4294265fd virt-viewer: 2.0 -> 5.0 2017-03-14 04:54:11 +00:00
ndowens 706bd194c7 iso-codes: 3.56 -> 3.74 2017-03-13 20:29:03 -05:00
ndowens 64218d61fc hwloc: 1.11.2 -> 1.11.6 (#23870) 2017-03-14 00:44:28 +01:00
Tuomas Tynkkynen aba0b45b86 Merge remote-tracking branch 'upstream/master' into staging
Conflicts:
      pkgs/development/libraries/qt-5/5.7/qtbase/default.nix
2017-03-14 00:49:22 +02:00
ndowens 4aee4cc8a5 htmlcxx: 0.85 -> 0.86 2017-03-13 17:11:03 -05:00
Tim Steinbach 6e0c3e1a6d Merge pull request #23862 from mimadrid/update/filezilla-3.25.0
filezilla: 3.24.0 -> 3.25.0
2017-03-13 17:58:34 -04:00
ndowens f3dab1a1e9 armadillo: 7.700.0 -> 7.800.0
armadillo: Added forgotton version update
2017-03-13 16:38:47 -05:00
mimadrid 7e9c815c23
libfilezilla: 0.9.0 -> 0.9.1 2017-03-13 22:17:08 +01:00
Vladimír Čunát b264486cf1
gnutls: bugfix+security 3.5.9 -> 3.5.10
http://gnutls.org/security.html#GNUTLS-SA-2017-3
2017-03-13 10:28:53 +01:00
Robin Gloster 89747d357b
msilbc: fix build 2017-03-13 09:33:15 +01:00
Lancelot SIX 37794d7101
gdbm: 1.12 -> 1.13
See http://lists.gnu.org/archive/html/info-gnu/2017-03/msg00005.html
for release anouncement
2017-03-13 09:20:47 +01:00
ndowens afeb989c5c gtkspell:3.0.8 -> 3.0.9 2017-03-12 20:38:46 -05:00
ndowens b64c6b46b1 gssdp: 0.14.11 -> 1.0.1 2017-03-12 19:41:00 -05:00
ndowens 86a23bcfff gmm: 4.3 -> 5.1
gmm: Remove whitespace
2017-03-12 18:51:15 -05:00
ndowens a2d50e744a gloox: 1.0.14 -> 1.0.20 2017-03-12 17:56:33 -05:00
Thomas Tuegel 65592837b6
freetype: 2.6.5 -> 2.7.1
The Infinality bytecode interpreter is removed in favor of the new v40 TrueType
interpreter. In the past, the Infinality interpreter provided support for
ClearType-style hinting instructions while the default interpreter (then v35)
provided support only for original TrueType-style instructions. The v40
interpreter corrects this deficiency, so the Infinality interpreter is no longer
necessary.

To understand why the Infinality interpreter is no longer necessary, we should
understand how ClearType differs from TrueType and how the v40 interpreter
works. The following is a summary of information available on the FreeType
website [1] mixed with my own editorializing.

TrueType instructions use horizontal and vertical hints to improve glyph
rendering. Before TrueType, fonts were only vertically hinted; horizontal hints
improved rendering by snapping stems to pixel boundaries. Horizontal hinting is
a risk because it can significantly distort glyph shapes and kerning. Extensive
testing at different resolutions is needed to perfect the TrueType
hints. Microsoft invested significant effort to do this with its "Core fonts for
the Web" project, but few other typefaces have seen this level of attention.

With the advent of subpixel rendering, the effective horizontal resolution of
most displays increased significantly. ClearType eschews horizontal hinting in
favor of horizontal supersampling. Most fonts are designed for the Microsoft
bytecode interpreter, which implements a compatibility mode with
TrueType-style (horizontal and vertical) instructions. However, applying the
full horizontal hints to subpixel-rendered fonts leads to color fringes and
inconsistent stem widths. The Infinality interpreter implements several
techniques to mitigate these problems, going so far as to embed font- and
glyph-specific hacks in the interpreter. On the other hand, the v40 interpreter
ignores the horizontal hinting instructions so that glyphs render as they are
intended to on the Microsoft interpreter. Without the horizontal hints, the
problems of glyph and kerning distortion, color fringes, and inconsistent stem
widths--the problems the Infinality interpreter was created to solve--simply
don't occur in the first place.

There are also security concerns which motivate removing the Infinality patches.
Although there is an updated version of the Infinality interpreter for FreeType
2.7, the lack of a consistent upstream maintainer is a security concern. The
interpreter is a Turing-complete virtual machine which has had security
vulnerabilities in the past. While the default interpreter is used in billions
of devices and is maintained by an active developer, the Infinality interpreter
is neither scrutinized nor maintained. We will probably never know if there are
defects in the Infinality interpreter, and if they were discovered they would
likely never be fixed. I do not think that is an acceptable situtation for a
core library like FreeType.

Dropping the Infinality patches means that font rendering will be less
customizable. I think this is an acceptable trade-off. The Infinality
interpreter made many compromises to mitigate the problems with horizontal
hinting; the main purpose of customization is to tailor these compromises to the
user's preferences. The new interpreter does not have to make these compromises
because it renders fonts as their designers intended, so this level of
customization is not necessary.

The Infinality-associated patches are also removed from cairo. These patches
only set the default rendering options in case they aren't set though
Fontconfig. On NixOS, the rendering options are always set in Fontconfig, so
these patches never actually did anything for us!

The Fontconfig test suite is patched to account for a quirk in the way PCF fonts
are named.

The fontconfig option `hintstyle` is no longer configurable in NixOS. This
option selects the TrueType interpreter; the v40 interpreter is `hintslight` and
the older v35 interpreter is `hintmedium` or `hintfull` (which have actually
always been the same thing). The setting may still be changed through the
`localConf` option or by creating a user Fontconfig file.

Users with HiDPI displays should probably disable hinting and antialiasing: at
best they have no visible effect.

The fontconfig-ultimate settings are still available in NixOS, but they are no
longer the default. They still work, but their main purpose is to set rendering
quirks which are no longer necessary and may actually be
detrimental (e.g. setting `hintfull` for some fonts). Also, the vast array of
font substitutions provided is not an appropriate default; the default setting
should be to give the user the font they asked for.

[1]. https://www.freetype.org/freetype2/docs/subpixel-hinting.html
2017-03-12 17:31:33 -05:00
Jörg Thalheim ceeb0de60c Merge pull request #23773 from ndowens/cdk
cdk:5.0-20160131 -> 5.0-20161210
2017-03-12 23:16:19 +01:00