summary refs log blame commit diff
path: root/pkgs/development/libraries/fontconfig/default.nix
blob: 2067f3457b635cd99d48fa8ffc3ef62a88374d1f (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                 
 
                         
                             
 
                  

                                                                    
    
 






                                                                               
 


                                                                                              
 
                                                                                                                   
 
                                                            
                                        
 





                                                              

                                
                                                                              
                                                                                             
 



                                                                     


                                                                       
                    
    
 
{ stdenv, fetchurl, pkgconfig, freetype, expat }:

stdenv.mkDerivation rec {
  name = "fontconfig-2.10.2";

  src = fetchurl {
    url = "http://fontconfig.org/release/${name}.tar.bz2";
    sha256 = "0llraqw86jmw4vzv7inskp3xxm2gc64my08iwq5mzncgfdbfza4f";
  };

  infinality_patch = with freetype.infinality; if useInfinality
    then let subvers = "1";
      in fetchurl {
        url = "${base_URL}/fontconfig-infinality-1-${vers}_${subvers}.tar.bz2";
        sha256 = "1fm5xx0mx2243jrq5rxk4v0ajw2nawpj23399h710bx6hd1rviq7";
      }
    else null;

  buildInputs = [ pkgconfig freetype expat ];

  #propagatedBuildInputs = [ expat ]; # !!! shouldn't be necessary, but otherwise pango breaks

  configureFlags = "--sysconfdir=/etc --with-cache-dir=/var/cache/fontconfig --disable-docs --with-default-fonts=";

  # We should find a better way to access the arch reliably.
  crossArch = stdenv.cross.arch or null;

  preConfigure = ''
    if test -n "$crossConfig"; then
      configureFlags="$configureFlags --with-arch=$crossArch";
    fi
  '';

  enableParallelBuilding = true;

  # Don't try to write to /etc/fonts or /var/cache/fontconfig at install time.
  installFlags = "sysconfdir=$(out)/etc RUN_FC_CACHE_TEST=false fc_cachedir=$(TMPDIR)/dummy";

  postInstall = if !freetype.infinality.useInfinality then "" else ''
    cd "$out/etc/fonts" && tar xvf ${infinality_patch}
  '';

  meta = {
    description = "A library for font customization and configuration";
    homepage = http://fontconfig.org/;
    license = "bsd";
  };
}