[PATCH] Add Siv3D

  • Open
  • quality assurance status badge
Details
One participant
  • ROCKTAKEY
Owner
unassigned
Submitted by
ROCKTAKEY
Severity
normal
R
R
ROCKTAKEY wrote 37 hours ago
(address . guix-patches@gnu.org)
59f1cb0a-a8e7-4dbf-aaa0-48eab9bd471f@gmail.com

R
R
ROCKTAKEY wrote 37 hours ago
[PATCH 1/3] gnu: Add boost-1.74.0.
(address . 75443@debbugs.gnu.org)(name . ROCKTAKEY)(address . rocktakey@gmail.com)
cb30af49420be6085f0d091952712ec8b38122a4.1736357207.git.rocktakey@gmail.com
Change-Id: Iddd713d958b052517e1819d2abd926cd1210126c
---
gnu/packages/boost.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index d090c52d8d..f560ca0800 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -18,6 +18,7 @@
;;; Copyright © 2021, 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 Franck Pérignon <franck.perignon@univ-grenoble-alpes.fr>
;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org>
+;;; Copyright © 2025 ROCKTAKEY <rocktakey@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -361,6 +362,30 @@ (define-public boost-for-mysql
(delete "python-minimal-wrapper")))
(properties '((hidden? . #t)))))
+(define-public boost-for-siv3d
+ (package
+ (inherit boost)
+ (version "1.74.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://boostorg.jfrog.io/artifactory/main/release/"
+ version "/source/boost_"
+ (version-with-underscores version) ".tar.bz2"))
+ (sha256
+ (base32
+ "1c8nw4jz17zy2y27h7p554a5jza1ymz8phkz71p9181ifx8c3gw3"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments boost)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (add-before 'configure 'substitute-for-python-compatibility
+ (lambda _
+ ;; For compatibility to Python 3.10.
+ ;; Retrived from future commit:
+ ;; https://github.com/boostorg/python/commit/cbd2d9f033c61d29d0a1df14951f4ec91e7d05cd
+ (substitute* '("libs/python/src/exec.cpp")
+ (("_Py_fopen") "fopen"))))))))))
+
(define-public boost-sync
(let ((commit "e690de2d30e2f1649ff500c9a6f3539814994b1c")
(version "1.55")

base-commit: 5d9e839fce98c49a8db47422a050ce03d799fe02
--
2.47.1
R
R
ROCKTAKEY wrote 37 hours ago
[PATCH 2/3] gnu: Add giflib-5.1.4.
(address . 75443@debbugs.gnu.org)(name . ROCKTAKEY)(address . rocktakey@gmail.com)
1e089972a1bac4e1ca72b46d8847d84b875039a4.1736357207.git.rocktakey@gmail.com
Change-Id: I7237db9c86f0e26cc6ceb836cbedc8bb578b072f
---
gnu/packages/image.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (48 lines)
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 7337a27b88..8a94806f24 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -39,6 +39,7 @@
;;; Copyright © 2023-2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024 chris <chris@bumblehead.com>
+;;; Copyright © 2025 ROCKTAKEY <rocktakey@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1076,6 +1077,33 @@ (define-public giflib
(home-page "http://giflib.sourceforge.net/")
(license license:x11)))
+(define-public giflib-for-siv3d
+ (package
+ (inherit giflib)
+ (version "5.1.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/giflib/giflib-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "1md83dip8rf29y40cm5r7nn19705f54iraz6545zhwa6y8zyq9yz"))))
+ (arguments
+ (append
+ ;; FIXME: Somehow test failed
+ '(#:tests? #f)
+ (substitute-keyword-arguments (package-arguments giflib)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (add-before 'build 'configure
+ (lambda args
+ (apply (assoc-ref %standard-phases 'configure) args)))
+ (replace 'disable-html-doc-gen
+ (lambda _
+ (substitute* "doc/Makefile.in"
+ (("^all: allhtml manpages") ""))
+ #t)))))))))
+
(define-public libuemf
(package
(name "libuemf")
--
2.47.1
R
R
ROCKTAKEY wrote 37 hours ago
[PATCH 3/3] gnu: Add Siv3D.
(address . 75443@debbugs.gnu.org)(name . ROCKTAKEY)(address . rocktakey@gmail.com)
a63e59266d6616b65a64f7574589abf176306a18.1736357207.git.rocktakey@gmail.com
Change-Id: I4564e9d04e1f4a9d7d28c1e39a4acdab0d41d25b
---
gnu/packages/graphics.scm | 79 +++++++++++++++++++++++++++++++++++++++
1 file changed, 79 insertions(+)

Toggle diff (103 lines)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index c950b8a2ae..6b8c88b12e 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -38,6 +38,7 @@
;;; Copyright © 2023 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2023, 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2024 Ivan Vilata-i-Balaguer <ivan@selidor.net>
+;;; Copyright © 2025 ROCKTAKEY <rocktakey@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -69,6 +70,7 @@ (define-module (gnu packages graphics)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages crypto)
+ #:use-module (gnu packages curl)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages documentation)
#:use-module (gnu packages flex)
@@ -3154,3 +3156,80 @@ (define-public gpaint
It features cut-and-paste for irregular regions or polygons.")
(home-page "https://www.gnu.org/software/gpaint/")
(license license:gpl3+)))
+
+(define-public siv3d
+ (package
+ (name "siv3d")
+ (version "0.6.15")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Siv3D/OpenSiv3D")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1wigbpijv6f58i1dinv2mnffgcxnm0nw85q6pgc1ywhz9kd4qspv"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (add-before 'configure 'set-cwd
+ (lambda* (#:key inputs propagated-inputs outputs
+ #:allow-other-keys)
+ (chdir "Linux")
+ (format #t "input: ~a" inputs)
+ (format #t "propagated-input: ~a" propagated-inputs)))
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "../Linux/App"
+ (let ((configure-flags (list
+ "-DBUILD_TESTING:BOOL=ON"
+ (string-append
+ "-DSiv3D_DIR="
+ (assoc-ref outputs "out")
+ "/lib/cmake/Siv3D")))
+ (configure (assoc-ref %standard-phases
+ 'configure))
+ (build (assoc-ref %standard-phases
+ 'build))
+ (check (assoc-ref %standard-phases
+ 'check)))
+ ;; #:outputs is needed for -DCMAKE_INSTALL_PREFIX
+ (configure #:inputs inputs
+ #:outputs '(("out" . "/tmp"))
+ #:configure-flags configure-flags)
+ (build #:inputs inputs)
+ ;; Home directory is used to create cache.
+ (setenv "HOME" "/tmp")
+ (check)))))))))
+ (propagated-inputs (list alsa-lib
+ ;; Due to incompatibility with Boost.Geometry
+ boost-for-siv3d
+ curl
+ ffmpeg
+ gtk+
+ ;; Due to GifQuantizeBuffer
+ giflib-for-siv3d
+ glu
+ harfbuzz
+ mpg123
+ opencv
+ opus
+ opusfile
+ soundtouch
+ libtiff
+ libjpeg-turbo
+ libvorbis
+ libwebp
+ libxft
+ util-linux
+ xorg-server))
+ (native-inputs (list pkg-config))
+ (home-page "https://siv3d.github.io/")
+ (synopsis "C++20 framework for creative coding")
+ (description "Siv3D (OpenSiv3D) is a C++20 framework for creative coding
+(2D/3D games, media art, visualizers, and simulators).")
+ (license license:expat)))
--
2.47.1
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 75443@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 75443
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch