Commit graph

91 commits

Author SHA1 Message Date
R. RyanTM 04de16a04d freetype: 2.10.4 -> 2.11.0 2021-07-24 15:17:02 +02:00
John Ericson 739381f0c1 freetype: patch pkg-config in -config better
When we have build == host != target, we don't want to patch in a
prefixed pkg-config used for cross compiling. Using `pkgsHostHost`
expressses the intent.

Then again, per https://github.com/NixOS/nixpkgs/issues/51176 leaving
`buildPackages.pkg-config` is arguably also correct, if we do further
cross compilation and want to run `freetype-config`. Really, there is no
good solution.
2021-03-04 17:38:05 +00:00
Ben Siraphob 66e44425c6 pkgs/development/libraries: stdenv.lib -> lib 2021-01-21 19:11:02 -08:00
Jonathan Ringer 9bb3fccb5b treewide: pkgs.pkgconfig -> pkgs.pkg-config, move pkgconfig to alias.nix
continuation of #109595

pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.

python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
2021-01-19 01:16:25 -08:00
Vladimír Čunát 89023c38fc
Recover the complicated situation after my bad merge
I made a mistake merge.  Reverting it in c778945806 undid the state
on master, but now I realize it crippled the git merge mechanism.
As the merge contained a mix of commits from `master..staging-next`
and other commits from `staging-next..staging`, it got the
`staging-next` branch into a state that was difficult to recover.

I reconstructed the "desired" state of staging-next tree by:
 - checking out the last commit of the problematic range: 4effe769e2
 - `git rebase -i --preserve-merges a8a018ddc0` - dropping the mistaken
   merge commit and its revert from that range (while keeping
   reapplication from 4effe769e2)
 - merging the last unaffected staging-next commit (803ca85c20)
 - fortunately no other commits have been pushed to staging-next yet
 - applying a diff on staging-next to get it into that state
2020-10-26 09:01:04 +01:00
Vladimír Čunát c778945806
Revert "Merge #101508: libraw: 0.20.0 -> 0.20.2"
I'm sorry; I didn't notice it contained staging commits.

This reverts commit 17f5305b6c, reversing
changes made to a8a018ddc0.
2020-10-25 09:41:51 +01:00
TredwellGit 3775af7057 freetype: 2.10.2 -> 2.10.4
https://sourceforge.net/projects/freetype/files/freetype2/2.10.4/
2020-10-20 20:57:46 +02:00
R. RyanTM 0fd395b380 freetype: 2.10.1 -> 2.10.2 2020-05-21 12:31:02 +00:00
Michael Reilly 84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
Niklas Hambüchen 9e78f76ade treewide: Remove unnecessary --disable-static (#66759)
* freetype: Remove unnecessary `--disable-static`.

The true-by-default `dontDisableStatic` already takes care of it.

Fixes freetype not being overridable to have static libs.

* treewide: Remove unnecessary `--disable-static`.

The true-by-default `dontDisableStatic` already takes care of it.

Fixes these packages not being overridable to have static libs.
2019-08-31 08:10:53 -04:00
Will Dietz f3381b53e1
freetype: undo formatting, esp since doesn't move to convention.
Sorry, thanks for catching this in review!

Leaving it as it was to keep this change simpler and
friendlier to blame and such :).
2019-07-09 13:23:08 -05:00
Will Dietz 2a72715e09
freetype: 2.10.0 -> 2.10.1
https://sourceforge.net/projects/freetype/files/freetype2/2.10.1/
2019-07-09 07:15:33 -05:00
c0bw3b 9cb260d091 [treewide] delete unused patches 2019-05-04 19:52:24 +02:00
Will Dietz dd48bd53cf freetype2: 2.9.1 -> 2.10.0
http://lists.nongnu.org/archive/html/freetype-announce/2019-03/msg00000.html
2019-03-15 09:02:56 -05:00
Will Dietz cabe7d6506
freetype: re-enable freetype-config, don't break all the things 2019-01-16 22:43:19 +01:00
Stephen ff8d76ab3e freetype: 2.9 -> 2.9.1
exclude freetype-config
2019-01-09 13:23:35 -08:00
Jörg Thalheim f17ff7d6ef
freetype: fix cross-build 2018-11-28 01:05:09 +00:00
volth a4118294e8 freetype: fix cross-compilation (#48352) 2018-10-14 17:23:37 +02:00
Jörg Thalheim 218298b30f
Merge branch 'master' into unused5 2018-07-21 15:41:22 +01:00
volth 52f53c69ce pkgs/*: remove unreferenced function arguments 2018-07-21 02:48:04 +00:00
volth 6d2857a311 [bot] treewide: remove unused 'inherit' in let blocks 2018-07-20 19:38:19 +00:00
John Ericson 88ff3c0f5d freetype: Remove crossAttrs
These sorts of C compiler confusions aren't really a problem anymore.
Everything is on the path with the right environment variables.
2018-05-10 13:14:13 -04:00
John Ericson ba52ae5048 treewide: isArm -> isAarch32
Following legacy packing conventions, `isArm` was defined just for
32-bit ARM instruction set. This is confusing to non packagers though,
because Aarch64 is an ARM instruction set.

The official ARM overview for ARMv8[1] is surprisingly not confusing,
given the overall state of affairs for ARM naming conventions, and
offers us a solution. It divides the nomenclature into three levels:

```
ISA:             ARMv8   {-A, -R, -M}
                 /    \
Mode:     Aarch32     Aarch64
             |         /   \
Encoding:   A64      A32   T32
```

At the top is the overall v8 instruction set archicture. Second are the
two modes, defined by bitwidth but differing in other semantics too, and
buttom are the encodings, (hopefully?) isomorphic if they encode the
same mode.

The 32 bit encodings are mostly backwards compatible with previous
non-Thumb and Thumb encodings, and if so we can pun the mode names to
instead mean "sets of compatable or isomorphic encodings", and then
voilà we have nice names for 32-bit and 64-bit arm instruction sets
which do not use the word ARM so as to not confused either laymen or
experienced ARM packages.

[1]: https://developer.arm.com/products/architecture/a-profile
2018-04-25 15:28:55 -04:00
Piotr Bogdan 077dedbf24 freetype: fix freetype-config 2018-03-23 02:09:32 +03:00
Nikolay Amiantov 3a28cc1dcd freetype: 2.7.1 -> 2.9 2018-03-06 13:09:19 +03:00
hsloan cebe4ee5c9 freetype default: Don't use stdenv.cross 2017-06-28 19:32:41 -04:00
Vladimír Čunát b0d2de45cd
freetype: fix CVE-2017-{8105,8287} by upstream patches
I copied the patches, as the changelog changes would certainly conflict.
2017-05-14 15:00:44 +02:00
Dan Peebles 8b65437aae Merge branch 'master' into staging 2017-03-30 12:54:41 -04:00
John Ericson 4c0d7da183 Get rid of all with { inherit... } and just used let inherit...
The old forms presumably predates, or were made in ignorance of,
`let inherit`. This way is better style as the scoping as more lexical,
something which Nix can (or might already!) take advantage of.
2017-03-30 03:05:05 -04:00
Thomas Tuegel 9b049849bf
freetype: disable PCF long family names
Backported several patches from upstream. The test suite patch for Fontconfig is
no longer necessary.
2017-03-28 17:29:42 -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
Tuomas Tynkkynen a17216af4c treewide: Shuffle outputs
Make either 'bin' or 'out' the first output.
2016-08-29 14:49:51 +03:00
Nikolay Amiantov f961fc7dd1 freetype: re-add infinality patches
archfan has updated those patches for the new version.
2016-08-20 03:21:05 +03:00
cmfwyp 1c7114da69 freetype: 2.6.2 -> 2.6.5
The fontconfig-ultimate patches are unmaintained. Since they were
not updated for newer FreeType versions, this removes them and
disables fontconfig-ultimate by default.
2016-08-20 03:21:05 +03:00
cmfwyp 50c0011292 freetype: add a long description 2016-08-20 03:21:05 +03:00
cmfwyp 574bba7f06 freetype: remove -fno-strict-aliasing
The strict aliasing violations this was meant to fix were already
fixed in FreeType.
2016-08-20 03:21:05 +03:00
Vladimír Čunát bd3d377e5e freetype: fix on mingw 2016-04-23 10:52:04 +02:00
Vladimír Čunát ae74c356d9 Merge recent 'staging' into closure-size
Let's get rid of those merge conflicts.
2016-02-03 16:57:19 +01:00
Tobias Geerinckx-Rice 3e0e641743 freetype: 2.5.4 -> 2.6.2 2016-01-24 20:39:42 +01:00
Vladimír Čunát bf414c9d4f Merge 'staging' into closure-size
- there were many easy merge conflicts
- cc-wrapper needed nontrivial changes

Many other problems might've been created by interaction of the branches,
but stdenv and a few other packages build fine now.
2015-04-18 11:22:20 +02:00
Vladimír Čunát 3938dc3c21 freetype: fix pcf fonts by upstream patches
The problem was uncovered by the last security patches.
Firefox seems to build and work fine.

Includes reverting 374a9cc162, as this is a proper fix.
2014-12-17 22:12:41 +01:00
Vladimír Čunát 9b581d16db freetype: feature+security update
http://savannah.nongnu.org/bugs/?43661
New version of patches from bohoomil included.

Untested on NixOS so far.
2014-12-16 21:55:15 +01:00
Vladimír Čunát a70180ba73 mutiout: make it builtin 2014-08-30 08:27:43 +02:00
Vladimír Čunát fb59f27a43 WIP: getting good 2014-08-27 01:14:09 +02:00
Vladimír Čunát 96cec2a7bd Merge 'staging' into multiple-outputs
Conflicts:
	pkgs/applications/audio/flac/default.nix
	pkgs/build-support/gcc-wrapper/builder.sh
	pkgs/development/libraries/apr-util/default.nix
	pkgs/development/libraries/apr/default.nix
	pkgs/development/libraries/atk/default.nix
	pkgs/development/libraries/freetype/default.nix
	pkgs/development/libraries/gdk-pixbuf/default.nix
	pkgs/development/libraries/glib/default.nix
	pkgs/development/libraries/glibc/2.17/builder.sh
	pkgs/development/libraries/glibc/2.17/locales.nix
	pkgs/development/libraries/libjpeg/default.nix
	pkgs/development/libraries/libogg/default.nix
	pkgs/development/libraries/libsamplerate/default.nix
	pkgs/development/libraries/libtiff/default.nix
	pkgs/development/libraries/libvorbis/default.nix
	pkgs/development/libraries/mesa/default.nix
	pkgs/development/libraries/pango/default.nix
	pkgs/development/web/nodejs/default.nix
	pkgs/os-specific/linux/pam/default.nix
	pkgs/os-specific/linux/systemd/default.nix
	pkgs/stdenv/generic/setup.sh
	pkgs/stdenv/linux/default.nix
	pkgs/top-level/all-packages.nix
	pkgs/top-level/release-small.nix
2014-08-23 16:04:53 +02:00
Vladimír Čunát 73ad32e1d9 freetype: flatten include to fix several builds
I just wonder why freetype-2.5 needed to move headers around.
2014-07-09 22:03:31 +02:00
Vladimír Čunát c50f0e47e1 freetype: major update, including some CVE security
- There's no fontconfig update yet, as I failed to debug it yet.
- Infinality patches are now taken from a different (maintained) source.
2014-06-17 09:00:29 +02:00
Mathijs Kwik 1a55c4b89f Merge remote-tracking branch 'official/master' into multiple-outputs
Conflicts:
	pkgs/development/libraries/cairo/default.nix
	pkgs/development/libraries/freetype/default.nix
	pkgs/development/libraries/glib/default.nix
	pkgs/development/libraries/libpng/default.nix
	pkgs/development/libraries/pango/default.nix
	pkgs/tools/typesetting/tex/texlive/default.nix
	pkgs/top-level/all-packages.nix
2013-09-11 10:53:31 +02:00
Eelco Dolstra 552fd3d599 Merge remote-tracking branch 'origin/master' into multiple-outputs
Conflicts:
	pkgs/development/libraries/atk/default.nix
	pkgs/development/libraries/cairo/default.nix
	pkgs/development/libraries/freetype/default.nix
	pkgs/development/libraries/glib/default.nix
	pkgs/development/libraries/gmime/default.nix
	pkgs/development/libraries/pango/default.nix
	pkgs/servers/x11/xorg/default.nix
	pkgs/top-level/all-packages.nix
2013-06-25 18:42:56 +02:00
Eelco Dolstra 143473406f freetype: Update to 2.4.12
Also update the Infinality patches.

Note that FreeType 2.5 was released a few days ago, but I don't know
how stable it is.
2013-06-21 18:44:33 +02:00