Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at 17.09 1.6 kB view raw
1{ lib, fetchurl, fetchpatch, python, buildPythonPackage, pkgconfig, cairo, xlibsWrapper, isPyPy, isPy35, isPy36, isPy3k }: 2 3if (isPyPy) then throw "pycairo not supported for interpreter ${python.executable}" else let 4 5 patch_waf = fetchpatch { 6 url = http://www.linuxfromscratch.org/patches/blfs/8.0/pycairo-1.10.0-waf_python_3_4-1.patch; 7 sha256 = "0xfl1i9dips2nykyg91f5h5r3xpk2hp1js1gq5z0hwjr0in55id4"; 8 }; 9 patch_waf-py3_5 = ./waf-py3_5.patch; 10 11in buildPythonPackage rec { 12 pname = "pycairo"; 13 version = "1.10.0"; 14 name = "${pname}-${version}"; 15 format = "other"; 16 17 src = if isPy3k 18 then fetchurl { 19 url = "http://cairographics.org/releases/pycairo-${version}.tar.bz2"; 20 sha256 = "1gjkf8x6hyx1skq3hhwcbvwifxvrf9qxis5vx8x5igmmgs70g94s"; 21 } 22 else fetchurl { 23 url = "http://cairographics.org/releases/py2cairo-${version}.tar.bz2"; 24 sha256 = "0cblk919wh6w0pgb45zf48xwxykfif16qk264yga7h9fdkq3j16k"; 25 }; 26 27 patches = [ 28 (fetchpatch { 29 url = http://www.linuxfromscratch.org/patches/blfs/8.0/pycairo-1.10.0-waf_unpack-1.patch; 30 sha256 = "1bmrhq2nmhx4l5glvyi59r0hc7w5m56kz41frx7v3dcp8f91p7xd"; 31 }) 32 ]; 33 34 buildInputs = [ python pkgconfig cairo xlibsWrapper ]; 35 36 configurePhase = '' 37 ( 38 cd $(${python.executable} waf unpack) 39 patch -p1 < ${patch_waf} 40 ${lib.optionalString (isPy35 || isPy36) "patch -p1 < ${patch_waf-py3_5}"} 41 ) 42 43 ${python.executable} waf configure --prefix=$out 44 ''; 45 buildPhase = "${python.executable} waf"; 46 installPhase = "${python.executable} waf install"; 47 48 meta.platforms = lib.platforms.linux ++ lib.platforms.darwin; 49}