diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-06-16 06:56:35 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-06-16 06:56:35 +0000 |
commit | 99fcaeccb89621dd492203ce1f2d551c06f228ed (patch) | |
tree | 41cb730ae07383004789779b0f6e11cb3f4642a3 /nixpkgs/pkgs/development/libraries/cairo | |
parent | 59c5f5ac8682acc13bb22bc29c7cf02f7d75f01f (diff) | |
parent | 75a5ebf473cd60148ba9aec0d219f72e5cf52519 (diff) | |
download | nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.gz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.bz2 nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.lz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.xz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.zst nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.zip |
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/nixos/modules/config/console.nix nixpkgs/nixos/modules/services/mail/mailman.nix nixpkgs/nixos/modules/services/mail/public-inbox.nix nixpkgs/nixos/modules/services/mail/rss2email.nix nixpkgs/nixos/modules/services/networking/ssh/sshd.nix nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix nixpkgs/pkgs/applications/networking/irc/weechat/default.nix nixpkgs/pkgs/applications/window-managers/sway/default.nix nixpkgs/pkgs/build-support/go/module.nix nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix nixpkgs/pkgs/development/interpreters/python/default.nix nixpkgs/pkgs/development/node-packages/overrides.nix nixpkgs/pkgs/development/tools/b4/default.nix nixpkgs/pkgs/servers/dict/dictd-db.nix nixpkgs/pkgs/servers/mail/public-inbox/default.nix nixpkgs/pkgs/tools/security/pinentry/default.nix nixpkgs/pkgs/tools/text/unoconv/default.nix nixpkgs/pkgs/top-level/all-packages.nix
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/cairo')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/cairo/default.nix | 50 |
1 files changed, 31 insertions, 19 deletions
diff --git a/nixpkgs/pkgs/development/libraries/cairo/default.nix b/nixpkgs/pkgs/development/libraries/cairo/default.nix index f922a7ed2e9f..69a8978ae628 100644 --- a/nixpkgs/pkgs/development/libraries/cairo/default.nix +++ b/nixpkgs/pkgs/development/libraries/cairo/default.nix @@ -5,19 +5,19 @@ , xcbSupport ? x11Support, libxcb, xcbutil # no longer experimental since 1.12 , libGLSupported ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms , glSupport ? x11Support && config.cairo.gl or (libGLSupported && stdenv.isLinux) -, libGL ? null # libGLU libGL is no longer a big dependency +, libGL # libGLU libGL is no longer a big dependency , pdfSupport ? true , darwin +, testers }: -assert glSupport -> x11Support && libGL != null; - let - version = "1.16.0"; inherit (lib) optional optionals; -in stdenv.mkDerivation rec { +in stdenv.mkDerivation (finalAttrs: let + inherit (finalAttrs) pname version; +in { pname = "cairo"; - inherit version; + version = "1.16.0"; src = fetchurl { url = "https://cairographics.org/${if lib.mod (builtins.fromJSON (lib.versions.minor version)) 2 == 0 then "releases" else "snapshots"}/${pname}-${version}.tar.xz"; @@ -32,15 +32,15 @@ in stdenv.mkDerivation rec { # This patch is the merged commit from the above PR. (fetchpatch { name = "CVE-2018-19876.patch"; - url = "https://gitlab.freedesktop.org/cairo/cairo/commit/6edf572ebb27b00d3c371ba5ae267e39d27d5b6d.patch"; - sha256 = "112hgrrsmcwxh1r52brhi5lksq4pvrz4xhkzcf2iqp55jl2pb7n1"; + url = "https://gitlab.freedesktop.org/cairo/cairo/-/commit/6edf572ebb27b00d3c371ba5ae267e39d27d5b6d.patch"; + hash = "sha256-wZ51BZWlXByFY3/CTn7el2A9aYkwL1FygJ2zqnN+UIQ="; }) # Fix PDF output. # https://gitlab.freedesktop.org/cairo/cairo/issues/342 (fetchpatch { - url = "https://gitlab.freedesktop.org/cairo/cairo/commit/5e34c5a9640e49dcc29e6b954c4187cfc838dbd1.patch"; - sha256 = "yCwsDUY7efVvOZkA6a0bPS+RrVc8Yk9bfPwWHeOjq5o="; + url = "https://gitlab.freedesktop.org/cairo/cairo/-/commit/5e34c5a9640e49dcc29e6b954c4187cfc838dbd1.patch"; + hash = "sha256-yCwsDUY7efVvOZkA6a0bPS+RrVc8Yk9bfPwWHeOjq5o="; }) # Fixes CVE-2020-35492; see https://github.com/NixOS/nixpkgs/issues/120364. @@ -49,8 +49,8 @@ in stdenv.mkDerivation rec { (fetchpatch { name = "CVE-2020-35492.patch"; includes = [ "src/cairo-image-compositor.c" ]; - url = "https://github.com/freedesktop/cairo/commit/78266cc8c0f7a595cfe8f3b694bfb9bcc3700b38.patch"; - sha256 = "048nzfz7rkgqb9xs0dfs56qdw7ckkxr87nbj3p0qziqdq4nb6wki"; + url = "https://gitlab.freedesktop.org/cairo/cairo/-/commit/78266cc8c0f7a595cfe8f3b694bfb9bcc3700b38.patch"; + hash = "sha256-cXKzLMENx4/BHXLZg3Kfkx3esCnaNaB7WvjNfL77FhE="; }) # Workaround https://gitlab.freedesktop.org/cairo/cairo/-/issues/121 @@ -60,7 +60,15 @@ in stdenv.mkDerivation rec { # Upstream PR: https://gitlab.freedesktop.org/cairo/cairo/-/issues/420 (fetchpatch { url = "https://gitlab.freedesktop.org/cairo/cairo/-/commit/e22d7212acb454daccc088619ee147af03883974.diff"; - sha256 = "sha256-8G98nsPz3MLEWPDX9F0jKgXC4hC4NNdFQLSpmW3ay2s="; + hash = "sha256-8G98nsPz3MLEWPDX9F0jKgXC4hC4NNdFQLSpmW3ay2s="; + }) + + # Fix clang build failures on newer LLVM versions + # Upstream PR: https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/119 + (fetchpatch { + name = "fix-types.patch"; + url = "https://gitlab.freedesktop.org/cairo/cairo/-/commit/38e486b34d435130f2fb38c429e6016c3c82cd53.patch"; + hash = "sha256-vmluOJSuTRiQHmbBBVCxOIkZ0O0ZEo0J4mgrUPn0SIo="; }) # Fix unexpected color addition on grayscale images (usually text). @@ -69,8 +77,9 @@ in stdenv.mkDerivation rec { (fetchpatch { name = "fix-grayscale-anialias.patch"; url = "https://gitlab.freedesktop.org/cairo/cairo/-/commit/4f4d89506f58a64b4829b1bb239bab9e46d63727.diff"; - sha256 = "sha256-mbTg67e7APfdELsuMAgXdY3xokWbGtHF7VDD5UyYqKM="; + hash = "sha256-mbTg67e7APfdELsuMAgXdY3xokWbGtHF7VDD5UyYqKM="; }) + ]; outputs = [ "out" "dev" "devdoc" ]; @@ -135,9 +144,10 @@ in stdenv.mkDerivation rec { postInstall = lib.optionalString stdenv.isDarwin glib.flattenInclude; + passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + meta = with lib; { description = "A 2D graphics library with support for multiple output devices"; - longDescription = '' Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X @@ -149,11 +159,13 @@ in stdenv.mkDerivation rec { media while taking advantage of display hardware acceleration when available (e.g., through the X Render Extension). ''; - homepage = "http://cairographics.org/"; - license = with licenses; [ lgpl2Plus mpl10 ]; - + pkgConfigModules = [ + "cairo-ps" + "cairo-svg" + ] ++ lib.optional gobjectSupport "cairo-gobject" + ++ lib.optional pdfSupport "cairo-pdf"; platforms = platforms.all; }; -} +}) |