rekado pushed a commit to branch master
in repository guix.
commit 5d0f84fdcbcd2a73602d6071caaf44647b765667
Author: Ricardo Wurmus <[email protected]>
AuthorDate: Thu May 15 08:05:46 2025 +0200
gnu: Add skia-for-friction.
* gnu/packages/graphics.scm (skia-for-friction): New variable.
Change-Id: I399ab3433a974b540e95d62cf1c02ea8c91cf76c
---
gnu/packages/graphics.scm | 69 ++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 68 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index cd384aa42c..3b94196689 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2015, 2016, 2021, 2022 Ludovic Courtès <[email protected]>
;;; Copyright © 2015 Tomáš Čech <[email protected]>
;;; Copyright © 2016, 2019 Leo Famulari <[email protected]>
-;;; Copyright © 2016, 2017, 2019, 2023 Ricardo Wurmus <[email protected]>
+;;; Copyright © 2016, 2017, 2019, 2023, 2025 Ricardo Wurmus
<[email protected]>
;;; Copyright © 2016, 2018, 2021, 2023, 2024 Efraim Flashner
<[email protected]>
;;; Copyright © 2016 Andreas Enge <[email protected]>
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <[email protected]>
@@ -2474,6 +2474,73 @@ It supports:
@end itemize")
(license license:bsd-3))))
+(define-public skia-for-friction
+ (let ((version "112")
+ (revision "0")
+ (commit "c4284e9bdd1f794e1c72328924ad519fd0d736cf"))
+ (package
+ (inherit skia)
+ (name "skia")
+ (version (git-version version revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/friction2d/skia")
+ (commit commit)
+ (recursive? #true)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "15mbqz7kg23xgy46ijm8p5wnj4q8xipyr7ckwz8kpa5v3lxssyf3"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments skia)
+ ;; gn/find_headers.py fails to decode some JSON, probably because of
+ ;; a warning.
+ ((#:tests? _ #false) #false)
+ ((#:phases phases)
+ #~(modify-phases #$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 = []")
+ (("set_sources_assignment_filter\\(\\[\\]\\)") "")
+ (("visibility = \\[ \":\\*\" \\]")
+ "visibility = [ \"*\" ]"))
+ (invoke "gn" "gen" "build"
+ (string-append
+ ;;
+ "--args="
+ "cc=\"gcc\" " ;defaults to 'cc'
+ "is_official_build=true " ;to use system libraries
+ "skia_use_system_zlib=true " ; use system zlib
library
+ "skia_use_system_expat=true "
+ "skia_use_system_libjpeg_turbo=true "
+ "skia_use_system_libpng=true "
+ "skia_use_system_libwebp=true "
+ "skia_use_system_icu=true "
+ "skia_use_system_harfbuzz=true "
+ "skia_use_system_freetype2=true "
+ "skia_enable_pdf=false "
+ "skia_enable_skottie=false "
+ "skia_enable_tools=false "
+ "skia_use_dng_sdk=false "
+
+ ;; 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\"] "
+ ;; Wuffs is a google language that may improve
performance
+ ;; disabled while unpackaged
+ "skia_use_wuffs=false ")))))))))))
+
(define-public superfamiconv
(package
(name "superfamiconv")