From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: 55104@debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Subject: [bug#55104] [PATCH 080/232] gnu: Add skia.
Date: Sun, 24 Apr 2022 23:56:46 -0400 [thread overview]
Message-ID: <20220425035918.25683-80-maxim.cournoyer@gmail.com> (raw)
In-Reply-To: <20220425035918.25683-1-maxim.cournoyer@gmail.com>
* gnu/packages/graphics.scm (skia): New variable.
---
gnu/packages/graphics.scm | 109 ++++++++++++++++++++++++++++++++++++++
1 file changed, 109 insertions(+)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 50f562abc1..16e182b827 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -55,6 +55,7 @@ (define-module (gnu packages graphics)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages build-tools)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
@@ -88,6 +89,7 @@ (define-module (gnu packages graphics)
#:use-module (gnu packages maths)
#:use-module (gnu packages mp3)
#:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages ninja)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
@@ -1864,6 +1866,113 @@ (define-public coin3D-4
and engineering community.")
(license license:bsd-3)))
+(define-public skia
+ ;; Releases follow those of Chromium, about every 6 weeks. The release
+ ;; version can be found on this page:
+ ;; https://skia.org/docs/user/release/release_notes/. The commit used
+ ;; should be the last commit, as recommended at
+ ;; https://skia.org/docs/user/release/.
+ (let ((version "98")
+ (revision "0")
+ (commit "55c56abac381e1ae3f0116c410bed81b05e0a38a"))
+ (package
+ (name "skia")
+ (version (git-version version revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://skia.googlesource.com/skia.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ldns2j1g2wj2phlxr9zqkdgs5g64pisxhwxcrq9ijn8a3jhafr2"))))
+ (build-system gnu-build-system) ;actually GN + Ninja
+ (arguments
+ (list
+ ;; Running the test suite would require 'dm'; unfortunately the tool
+ ;; can only be built for debug builds, which require fetching third
+ ;; party sources.
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "BUILD.gn"
+ ;; Workaround a bug in the zlib third_party definition, that
+ ;; fails the build even when zlib is found from the system.
+ (("deps = \\[ \"//third_party/zlib\" ]")
+ "deps = []"))
+ (invoke "gn" "gen" "build"
+ (string-append
+ ;;
+ "--args="
+ "cc=\"gcc\" " ;defaults to 'cc'
+ "is_official_build=true " ;to use system libraries
+ "is_component_build=true " ;build as a shared library
+ ;; Specify where locate the harfbuzz and freetype
+ ;; includes.
+ (format #f "extra_cflags=[\"-I~a\",\"-I~a\"] "
+ (search-input-directory inputs
+ "include/harfbuzz")
+ (search-input-directory inputs
+ "include/freetype2"))
+ ;; Otherwise the validate-runpath phase fails.
+ "extra_ldflags=[\"-Wl,-rpath=" #$output "/lib\"] "
+ ;; Disabled, otherwise the build system attempts to
+ ;; download the SDK at build time.
+ "skia_use_dng_sdk=false "))))
+ (replace 'build
+ (lambda* (#:key parallel-build? #:allow-other-keys)
+ (let ((job-count (if parallel-build?
+ (number->string (parallel-job-count))
+ "1")))
+ (invoke "ninja" "-j" job-count "-C" "build"))))
+ (replace 'install
+ (lambda _
+ ;; Install headers.
+ (for-each (lambda (h)
+ (install-file h (string-append
+ #$output "/include/skia/"
+ (dirname h))))
+ (find-files "." "\\.h$"))
+ ;; Install libraries.
+ (for-each (lambda (lib)
+ (install-file lib (string-append #$output "/lib")))
+ (find-files "build" "^lib.*\\.(a|so)"))
+ ;; This pkgconfig file is useful at least to the
+ ;; python-skia-pathops package.
+ (define skia.pc (string-append #$output
+ "/lib/pkgconfig/skia.pc"))
+ (mkdir-p (dirname skia.pc))
+ (call-with-output-file skia.pc
+ (lambda (port)
+ (format port "\
+prefix=~a
+exec_prefix=${prefix}
+libdir=${prefix}/lib
+includedir=${prefix}/include/skia
+
+Name: skia
+Description: 2D graphic library for drawing text, geometries and images.
+URL: https://skia.org/
+Version: ~a
+Libs: -L${libdir} -lskia
+Cflags: -I${includedir}~%" #$output #$version))))))))
+ (native-inputs (list gn libjpeg-turbo ninja pkg-config python-wrapper))
+ (inputs (list expat fontconfig freetype harfbuzz mesa libwebp zlib))
+ (home-page "https://skia.org/")
+ (synopsis "2D graphics library")
+ (description "Skia is an open source 2D graphics library. It can be
+used for drawing text, geometries, and images and has support for:
+@itemize
+@item 3x3 matrices with perspective
+@item antialiasing, transparency, filters
+@item shaders, xfermodes, maskfilters, patheffects
+@item subpixel text
+@end itemize")
+ (license license:bsd-3))))
+
(define-public superfamiconv
(package
(name "superfamiconv")
--
2.34.0
next prev parent reply other threads:[~2022-04-25 4:22 UTC|newest]
Thread overview: 111+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-25 3:57 [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 002/232] gnu: python-astroid: Propagate python-typing-extensions Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 003/232] gnu: Add python-pure-eval Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 004/232] gnu: Add python-asttokens Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 005/232] gnu: Add python-littleutils Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 006/232] gnu: Add python-stack-data Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 007/232] gnu: python-traitlets: Update to 5.1.1 Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 008/232] gnu: python-jinja2: Update to 3.1.1 Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 009/232] gnu: python-prompt-toolkit: Update to 3.0.29 Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 010/232] gnu: python-ipython: Update to 8.2.0 [fixes CVE-2022-21699] Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 011/232] gnu: python-nbformat: Update to 5.3.0 Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 012/232] gnu: Add texlive-paralist Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 013/232] gnu: Add texlive-stix2-otf Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 014/232] gnu: Add texlive-metalogo Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 015/232] gnu: Add texlive-makecmds Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 016/232] gnu: Add texlive-csplain Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 017/232] gnu: Add texlive-cs Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 018/232] gnu: Add texlive-zref Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 019/232] gnu: Add python-pcpp Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 020/232] gnu: Add opentype-sanitizer Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 021/232] gnu: Add python-opentype-sanitizer Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 022/232] gnu: Add python-defcon-bootstrap Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 023/232] gnu: Add python-fontmath Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 024/232] gnu: Add python-unicodedata2 Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 025/232] gnu: python-fonttools-with-test: Rename to python-fonttools-full Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 026/232] gnu: Add python-mutatormath Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 027/232] gnu: Add python-fontpens-bootstrap Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 028/232] gnu: Add python-booleanoperations Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 029/232] gnu: Add python-fontparts-bootstrap Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 030/232] gnu: Add python-fontpens Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 031/232] gnu: Add python-defcon Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 032/232] gnu: Add python-fontparts Maxim Cournoyer
2022-04-25 3:55 ` [bug#55104] [PATCH 033/232] gnu: Add python-cu2qu Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 034/232] gnu: Add python-ufoprocessor Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 035/232] gnu: Add python-ufonormalizer Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 036/232] gnu: Add python-types-toml Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 037/232] gnu: Add python-pytest-mypy Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 038/232] gnu: Add python-jaraco-context-bootstrap Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 039/232] gnu: Add python-jaraco-functools-bootstrap Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 040/232] gnu: Add python-autocommand Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 041/232] gnu: Add python-types-freezegun Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 042/232] gnu: Add python-types-pytz Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 043/232] gnu: Add python-pytest-freezegun Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 044/232] gnu: Add python-pytest-enabler-bootstrap Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 045/232] gnu: Add python-path-bootstrap Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 046/232] gnu: Add python-pip-run-bootstrap Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 047/232] gnu: python-importlib-metadata: Update to 4.11.3 Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 048/232] gnu: python-pytest-black: Update to 0.3.12 Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 049/232] gnu: python-mypy: Update to 0.942 and fix search path Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 050/232] gnu: Add python-types-docutils Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 051/232] gnu: python-pytest-checkdocs: Update to 2.7.1 Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 052/232] gnu: Add python-jaraco-classes Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 053/232] gnu: Add python-jaraco-context Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 054/232] gnu: Add python-jaraco-functools Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 055/232] gnu: Add python-pytest-enabler Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 056/232] gnu: Add python-path Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 057/232] gnu: Add python-pip-run Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 058/232] gnu: Add python-tempora Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 059/232] gnu: Add python-pytest-perf Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 060/232] gnu: python-factory-boy: Update to 3.2.1 Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 061/232] gnu: python-faker: Update to 13.3.4 and honor TESTS? Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 062/232] gnu: Add python-pytest-randomly Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 063/232] gnu: Add psautohint-font-data Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 064/232] gnu: Add psautohint Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 065/232] gnu: Add python-ordered-set Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 066/232] gnu: Add python-xdoctest Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 067/232] gnu: Add python-ubelt Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 068/232] gnu: python-setuptools: Update to 62.0.0 Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 069/232] gnu: python-pathpy: Deprecate by python-path Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 070/232] gnu: python-pytest-shutil: Adjust to use python-path Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 071/232] gnu: python-pytest-cov: Update to 3.0.0 Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 072/232] gnu: Add python-scikit-build Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 073/232] gnu: python-jupyter-packaging: Update to 0.12.0, run test suite Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 074/232] gnu: python-scipy: Move input fields below arguments field Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 075/232] gnu: python-scipy: Update to 1.8.0 and enable parallel build Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 076/232] gnu: Add java-antlr4-runtime-cpp Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 077/232] gnu: Add python-fonttools-next Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 078/232] gnu: Add python-afdko Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 079/232] gnu: Add python-cffsubr Maxim Cournoyer
2022-04-25 3:56 ` Maxim Cournoyer [this message]
2022-04-25 3:56 ` [bug#55104] [PATCH 081/232] gnu: Add python-skia-pathops Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 082/232] gnu: Add python-ufolib2 Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 083/232] gnu: Add python-compreffor Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 084/232] gnu: Add python-ufo2ft Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 085/232] gnu: Add python-sfdlib Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 086/232] gnu: Add font-amiri Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 087/232] gnu: Add font-sil-ezra Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 088/232] gnu: Add texlive-bidi Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 089/232] gnu: Add font-gfs-ambrosia Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 090/232] gnu: python-click: Update to 8.1.2 and honor TESTS? Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 091/232] gnu: python-flask: Update to 2.1.1 Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 092/232] gnu: Add python-untangle Maxim Cournoyer
2022-04-25 3:56 ` [bug#55104] [PATCH 093/232] gnu: python-black: Update to 22.3.0 Maxim Cournoyer
2022-04-25 3:57 ` [bug#55104] [PATCH 094/232] gnu: pylint: Run tests in parallel Maxim Cournoyer
2022-04-25 3:57 ` [bug#55104] [PATCH 095/232] gnu: python-trio: Update to 0.20.0 Maxim Cournoyer
2022-04-25 3:57 ` [bug#55104] [PATCH 096/232] gnu: Add python-pydevd Maxim Cournoyer
2022-04-25 3:57 ` [bug#55104] [PATCH 097/232] gnu: Add python-debugpy Maxim Cournoyer
2022-04-25 3:57 ` [bug#55104] [PATCH 098/232] gnu: python-greenlet: Update to 1.1.2 Maxim Cournoyer
2022-04-25 3:57 ` [bug#55104] [PATCH 099/232] gnu: Add python-pytest-forked-next Maxim Cournoyer
2022-04-25 3:57 ` [bug#55104] [PATCH 100/232] gnu: python-pytest-xdist-next: Update to 2.5.0 Maxim Cournoyer
2022-04-25 3:57 ` [bug#55104] [PATCH 101/232] gnu: Add python-ipyparallel-bootstrap Maxim Cournoyer
2022-04-25 9:53 ` [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more Lars-Dominik Braun
2022-04-25 13:15 ` Maxim Cournoyer
2022-04-26 7:36 ` Lars-Dominik Braun
2022-04-27 3:09 ` Maxim Cournoyer
2022-04-27 11:50 ` Lars-Dominik Braun
2022-05-12 1:31 ` Maxim Cournoyer
2022-04-26 11:21 ` zimoun
2022-04-25 11:36 ` Julien Lepiller
2022-04-25 13:23 ` Maxim Cournoyer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220425035918.25683-80-maxim.cournoyer@gmail.com \
--to=maxim.cournoyer@gmail.com \
--cc=55104@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.