···4949 rest of the system on a stable release.
5050 </para>
5151 </listitem>
5252+ <listitem>
5353+ <para>
5454+ Updated to FreeType 2.7.1, including a new TrueType engine.
5555+ The new engine replaces the Infinality engine which was the default in
5656+ NixOS. The default font rendering settings are now provided by
5757+ fontconfig-penultimate, replacing fontconfig-ultimate; the new defaults
5858+ are less invasive and provide rendering that is more consistent with
5959+ other systems and hopefully with each font designer's intent. Some
6060+ system-wide configuration has been removed from the Fontconfig NixOS
6161+ module where user Fontconfig settings are available.
6262+ </para>
6363+ </listitem>
52645365</itemizedlist>
5466
···2929 sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' lib/Driver/ToolChains.cpp
3030 '';
31313232+ outputs = [ "out" "python" ];
3333+3234 # Clang expects to find LLVMgold in its own prefix
3335 # Clang expects to find sanitizer libraries in its own prefix
3436 postInstall = ''
3537 ln -sv ${llvm}/lib/LLVMgold.so $out/lib
3638 ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
3739 ln -sv $out/bin/clang $out/bin/cpp
4040+4141+ mkdir -p $python/bin $python/share/clang/
4242+ mv $out/bin/{git-clang-format,scan-view} $python/bin
4343+ if [ -e $out/bin/set-xcode-analyzer ]; then
4444+ mv $out/bin/set-xcode-analyzer $python/bin
4545+ fi
4646+ mv $out/share/clang/*.py $python/share/clang
4747+4848+ rm $out/bin/c-index-test
3849 '';
39504051 enableParallelBuilding = true;
+9-7
pkgs/development/compilers/llvm/3.9/llvm.nix
···4040 outputs = [ "out" ] ++ stdenv.lib.optional enableSharedLibraries "lib";
41414242 buildInputs = [ perl groff cmake libxml2 python libffi ]
4343- ++ stdenv.lib.optionals stdenv.isDarwin
4444- [ libcxxabi darwin.cctools darwin.apple_sdk.libs.xpc ];
4343+ ++ stdenv.lib.optionals stdenv.isDarwin [ libcxxabi ];
45444645 propagatedBuildInputs = [ ncurses zlib ];
4746···5352 sha256 = "11sq86spw41v72f676igksapdlsgh7fiqp5qkkmgfj0ndqcn9skf";
5453 }}
5554 ''
5656- # hacky fix: New LLVM releases require a newer OS X SDK than
5757- # 10.9. This is a temporary measure until nixpkgs darwin support is
5858- # updated.
5555+ # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
5656+ # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
5757+ # can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd
5858+ # get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by
5959+ # a flag and turn the flag off during the stdenv build. I realize that this LLVM isn't used in the stdenv but I want to
6060+ # keep it consistent with 4.0. We really shouldn't be copying and pasting all this code around...
5961 + stdenv.lib.optionalString stdenv.isDarwin ''
6060- sed -i 's/os_trace(\(.*\)");$/printf(\1\\n");/g' ./projects/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc
6262+ substituteInPlace ./projects/compiler-rt/cmake/config-ix.cmake \
6363+ --replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
6164 ''
6265 # Patch llvm-config to return correct library path based on --link-{shared,static}.
6366 + stdenv.lib.optionalString (enableSharedLibraries) ''
···8588 ++ stdenv.lib.optionals (isDarwin) [
8689 "-DLLVM_ENABLE_LIBCXX=ON"
8790 "-DCAN_TARGET_i386=false"
8888- "-DCMAKE_LIBTOOL=${darwin.cctools}/bin/libtool"
8991 ];
90929193 postBuild = ''
···88 sha256 = "0llraqw86jmw4vzv7inskp3xxm2gc64my08iwq5mzncgfdbfza4f";
99 };
10101111- infinality_patch =
1212- let subvers = "1";
1313- in fetchurl {
1414- url = http://www.infinality.net/fedora/linux/zips/fontconfig-infinality-1-20130104_1.tar.bz2;
1515- sha256 = "1fm5xx0mx2243jrq5rxk4v0ajw2nawpj23399h710bx6hd1rviq7";
1616- }
1717- ;
1111+ patches = [
1212+ # FreeType 2.7 prefixes PCF font family names with the foundry name.
1313+ # The output of fc-list and fc-query change which breaks the tests.
1414+ ./test-pcf-family-names-freetype-2.7.patch
1515+ ];
18161917 outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config
2018···43414442 # Don't try to write to /var/cache/fontconfig at install time.
4543 installFlags = "sysconfdir=$(out)/etc fc_cachedir=$(TMPDIR)/dummy RUN_FC_CACHE_TEST=false";
4646-4747- postInstall = ''
4848- cd "$out/etc/fonts" && tar xvf ${infinality_patch}
4949- '';
50445145 passthru = {
5246 # Empty for backward compatibility, there was no versioning before 2.11
+4
pkgs/development/libraries/fontconfig/default.nix
···3333 url = "https://cgit.freedesktop.org/fontconfig/patch/?id=1ab5258f7c";
3434 sha256 = "0x2a4qx51j3gqcp1kp4lisdzmhrkw1zw0r851d82ksgjlc0vkbaz";
3535 })
3636+3737+ # FreeType 2.7 prefixes PCF font family names with the foundry name.
3838+ # The output of fc-list and fc-query change which breaks the tests.
3939+ ./test-pcf-family-names-freetype-2.7.patch
3640 ];
3741 # additionally required for the glibc-2.25 patch; avoid requiring gperf
3842 postPatch = ''
···11-{ stdenv, fetchurl, fetchFromGitHub, pkgconfig, which, zlib, bzip2, libpng, gnumake
22-, glib /* passthru only */
11+{
22+ stdenv, lib, fetchurl, copyPathsToStore,
33+ pkgconfig, which,
44+ zlib, bzip2, libpng, gnumake, glib,
3544- # FreeType supports sub-pixel rendering. This is patented by
55- # Microsoft, so it is disabled by default. This option allows it to
66- # be enabled. See http://www.freetype.org/patents.html.
77-, useEncumberedCode ? true
88-, useInfinality ? true
66+ # FreeType supports LCD filtering (colloquially referred to as sub-pixel rendering).
77+ # LCD filtering is also known as ClearType and covered by several Microsoft patents.
88+ # This option allows it to be disabled. See http://www.freetype.org/patents.html.
99+ useEncumberedCode ? true,
910}:
10111111-assert useInfinality -> useEncumberedCode;
1212+with { inherit (stdenv.lib) optional optionals optionalString; };
12131313-let
1414- version = "2.6.5";
1414+let version = "2.7.1"; name = "freetype-" + version; in
15151616- infinality = fetchFromGitHub {
1717- owner = "archfan";
1818- repo = "infinality_bundle";
1919- rev = "5c0949a477bf43d2ac4e57b4fc39bcc3331002ee";
2020- sha256 = "17389aqm6rlxl4b5mv1fx4b22x2v2n60hfhixfxqxpd8ialsdi6l";
1616+stdenv.mkDerivation {
1717+ inherit name;
1818+1919+ meta = with stdenv.lib; {
2020+ description = "A font rendering engine";
2121+ longDescription = ''
2222+ FreeType is a portable and efficient library for rendering fonts. It
2323+ supports TrueType, Type 1, CFF fonts, and WOFF, PCF, FNT, BDF and PFR
2424+ fonts. It has a bytecode interpreter and has an automatic hinter called
2525+ autofit which can be used instead of hinting instructions included in
2626+ fonts.
2727+ '';
2828+ homepage = https://www.freetype.org/;
2929+ license = licenses.gpl2Plus; # or the FreeType License (BSD + advertising clause)
3030+ platforms = platforms.all;
3131+ maintainers = with maintainers; [ ttuegel ];
2132 };
2222-2323-in
2424-with { inherit (stdenv.lib) optional optionals optionalString; };
2525-stdenv.mkDerivation rec {
2626- name = "freetype-${version}";
27332834 src = fetchurl {
2935 url = "mirror://savannah/freetype/${name}.tar.bz2";
3030- sha256 = "1w5c87s4rpx9af5b3mk5cjd1yny3c4dq5p9iv3ixb3vr00a6w2p2";
3636+ sha256 = "121gm15ayfg3rglby8ifh8384mcjb9dhmx9j40zl7yszw72b4frs";
3137 };
32383333- patches = [
3434- # Patch for validation of OpenType and GX/AAT tables.
3535- (fetchurl {
3636- name = "freetype-2.2.1-enable-valid.patch";
3737- url = "http://pkgs.fedoraproject.org/cgit/rpms/freetype.git/plain/freetype-2.2.1-enable-valid.patch?id=9a81147af83b1166a5f301e379f85927cc610990";
3838- sha256 = "0zkgqhws2s0j8ywksclf391iijhidb1a406zszd7xbdjn28kmj2l";
3939- })
4040- ] ++ optionals (!useInfinality && useEncumberedCode) [
4141- # Patch to enable subpixel rendering.
4242- # See https://www.freetype.org/freetype2/docs/reference/ft2-lcd_filtering.html.
4343- (fetchurl {
4444- name = "freetype-2.3.0-enable-spr.patch";
4545- url = http://pkgs.fedoraproject.org/cgit/rpms/freetype.git/plain/freetype-2.3.0-enable-spr.patch?id=9a81147af83b1166a5f301e379f85927cc610990;
4646- sha256 = "13ni9n5q3nla38wjmxd4f8cy29gp62kjx2l6y6nqhdyiqp8fz8nd";
4747- })
4848- ];
4949-5050- prePatch = optionalString useInfinality ''
5151- patches="$patches $(ls ${infinality}/*_freetype2-iu/*-infinality-*.patch)"
5252- '';
5353-5454- outputs = [ "out" "dev" ];
5555-5639 propagatedBuildInputs = [ zlib bzip2 libpng ]; # needed when linking against freetype
5740 # dependence on harfbuzz is looser than the reverse dependence
5841 nativeBuildInputs = [ pkgconfig which ]
5942 # FreeType requires GNU Make, which is not part of stdenv on FreeBSD.
6043 ++ optional (!stdenv.isLinux) gnumake;
4444+4545+ patches =
4646+ [ ./enable-table-validation.patch ]
4747+ ++ optional useEncumberedCode ./enable-subpixel-rendering.patch;
4848+4949+ outputs = [ "out" "dev" ];
61506251 configureFlags = [ "--disable-static" "--bindir=$(dev)/bin" ];
6352···7564 # of gcc. I think it's due to the unwrapped gcc being in the PATH. I don't
7665 # know why it's on the PATH.
7766 configureFlags = "--disable-static CC_BUILD=gcc";
7878- };
7979-8080- meta = with stdenv.lib; {
8181- description = "A font rendering engine";
8282- longDescription = ''
8383- FreeType is a portable and efficient library for rendering fonts. It
8484- supports TrueType, Type 1, CFF fonts, and WOFF, PCF, FNT, BDF and PFR
8585- fonts. It has a bytecode interpreter and has an automatic hinter called
8686- autofit which can be used instead of hinting instructions included in
8787- fonts.
8888- '';
8989- homepage = https://www.freetype.org/;
9090- license = licenses.gpl2Plus; # or the FreeType License (BSD + advertising clause)
9191- #ToDo: encumbered = useEncumberedCode;
9292- platforms = platforms.all;
9367 };
9468}
···2233stdenv.mkDerivation rec {
44 name = "jemalloc-${version}";
55- version = "4.3.1";
55+ version = "4.5.0";
6677 src = fetchurl {
88 url = "https://github.com/jemalloc/jemalloc/releases/download/${version}/${name}.tar.bz2";
99- sha256 = "12r71i8nm3vwz21fc16rwbb0pwcg5s05n1qg3rwl2s85v0x1ifzp";
99+ sha256 = "9409d85664b4f135b77518b0b118c549009dc10f6cba14557d170476611f6780";
1010 };
11111212 # By default, jemalloc puts a je_ prefix onto all its symbols on OSX, which
1313 # then stops downstream builds (mariadb in particular) from detecting it. This
1414 # option should remove the prefix and give us a working jemalloc.
1515 configureFlags = stdenv.lib.optional stdenv.isDarwin "--with-jemalloc-prefix=";
1616+1717+ doCheck = true;
1818+16191720 meta = with stdenv.lib; {
1821 homepage = http://jemalloc.net;
+5-3
pkgs/development/libraries/mesa/default.nix
···55, libelf, libvdpau, python2
66, grsecEnabled ? false
77, enableRadv ? false
88-, enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt
88+# Texture floats are patented, see docs/patents.txt, so we don't enable them for full Mesa.
99+# It's overridden for mesa_drivers.
1010+, enableTextureFloats ? false
911, galliumDrivers ? null
1012, driDrivers ? null
1113, vulkanDrivers ? null
···6365in
64666567let
6666- version = "17.0.1";
6868+ version = "17.0.2";
6769 branch = head (splitString "." version);
6870 driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32";
6971in
···7880 "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
7981 "https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz"
8082 ];
8181- sha256 = "96fd70ef5f31d276a17e424e7e1bb79447ccbbe822b56844213ef932e7ad1b0c";
8383+ sha256 = "f8f191f909e01e65de38d5bdea5fb057f21649a3aed20948be02348e77a689d4";
8284 };
83858486 prePatch = "patchShebangs .";
···2828 sha256 = "1s1hyndva0yp62xy96pcp4anzrvw6cl0abjajim17sbmdp00fwhw";
2929 };
30303131- patches = [ ];
3232-3331 outputs = [ "bin" "dev" "out" "man" "devdoc" ];
34323533 enableParallelBuilding = true;
···5755 '';
58565957 configureFlags = [
6060- # OS X does not have a default system bundle, so we assume cacerts is installed in the default nix-env profile
6161- # This sucks. We should probably just include the latest cacerts in the darwin bootstrap.
6262- "--with-ca-bundle=${if stdenv.isDarwin then "/nix/var/nix/profiles/default" else ""}/etc/ssl/certs/ca-${if stdenv.isDarwin then "bundle" else "certificates"}.crt"
5858+ "--with-ca-fallback"
6359 "--disable-manual"
6460 ( if sslSupport then "--with-ssl=${openssl.dev}" else "--without-ssl" )
6561 ( if gnutlsSupport then "--with-gnutls=${gnutls.dev}" else "--without-gnutls" )