unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#60790] [PATCH] gnu: Add cl-assimp.
@ 2023-01-13 21:44 Sharlatan Hellseher
  2023-01-17 14:06 ` bug#60790: " Guillaume Le Vaillant
  0 siblings, 1 reply; 2+ messages in thread
From: Sharlatan Hellseher @ 2023-01-13 21:44 UTC (permalink / raw)
  To: 60790; +Cc: Sharlatan Hellseher

The latest upstream commit of classimp does not support assimp library
higher than 5.0.
- https://github.com/3b/classimp/issues/18

* gnu/packages/graphics.scm (assimp-5.0): New variable.
* gnu/packages/lisp-xyz.scm (cl-classimp, sbcl-classimp): New variables.
---
 gnu/packages/graphics.scm | 15 ++++++++++++
 gnu/packages/lisp-xyz.scm | 48 ++++++++++++++++++++++++++++++++++++++-
 2 files changed, 62 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index f23fad7c50..421522b7e0 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -33,6 +33,7 @@
 ;;; Copyright © 2022 Tobias Kortkamp <tobias.kortkamp@gmail.com>
 ;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
 ;;; Copyright © 2022 dan <i@dan.games>
+;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -594,6 +595,20 @@ (define-public assimp
 more.")
     (license license:bsd-3)))
 
+(define-public assimp-5.0
+  (package
+    (inherit assimp)
+    (version "5.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/assimp/assimp")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name "assimp" version))
+              (sha256
+               (base32
+                "1w2484lg823bql7lpfq84vnsfsnag5v65qrbphslj866z9ia68l7"))))))
+
 (define-public mikktspace
   ;; The latest commit is used as there is no release.
   (let ((commit   "3e895b49d05ea07e4c2133156cfa94369e19e409")
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index db20ad00c0..55ed4b21b4 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -20,7 +20,7 @@
 ;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech>
 ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
 ;;; Copyright © 2020, 2021, 2022 Adam Kandur <rndd@tuta.io>
-;;; Copyright © 2020, 2021, 2022 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2020-2023 Sharlatan Hellseher <sharlatanus@gmail.com>
 ;;; Copyright © 2021, 2022 Aurora <rind38@disroot.org>
 ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
 ;;; Copyright © 2021, 2022, 2023 André A. Gomes <andremegafone@gmail.com>
@@ -85,6 +85,7 @@ (define-module (gnu packages lisp-xyz)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages graphics)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
@@ -10284,6 +10285,51 @@ (define-public cl-async
 (define-public ecl-cl-async
   (sbcl-package->ecl-package sbcl-cl-async))
 
+(define-public sbcl-classimp
+  (let ((commit "d82a14c59bc733f89a1ea0b3447ebedddce5756e")
+        (revision "0"))
+    (package
+      (name "sbcl-classimp")
+      (version (git-version "0.0.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/3b/classimp")
+               (commit commit)))
+         (file-name (git-file-name "classimp" version))
+         (sha256
+          (base32 "0pbnz6cf1zb2ayk4kbw0gphjb8nflnjns2rwhv86jz0kf0z1hqha"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       (list
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'patch-assimp-lib-path
+              (lambda* (#:key inputs #:allow-other-keys)
+                (substitute* "library.lisp"
+                  (("libassimp.so.5" _)
+                   (search-input-file inputs "/lib/libassimp.so.5.0.0"))))))))
+      (inputs
+       (list assimp-5.0
+             sbcl-cffi
+             sbcl-split-sequence))
+      (home-page "https://github.com/3b/classimp")
+      (synopsis "Common Lisp CFFI bindings for Open Asset Import Library")
+      (description
+       "This package provides CFFI bindings to @acronym{ASSIMP, Asset Import} library
+for Common Lisp.")
+      (license license:expat))))
+
+(define-public cl-classimp
+  (sbcl-package->cl-source-package sbcl-classimp))
+
+;; FIXME: (Sharlatan-20230113T213459+0000): It tries to link with the current
+;; latest assimp library from which assimp-5.0 was inherited.
+;;
+;; (define-public ecl-classimp
+;;   (sbcl-package->ecl-package sbcl-classimp))
+
 (define-public sbcl-blackbird
   (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8")
         (revision "1"))
-- 
2.38.1





^ permalink raw reply related	[flat|nested] 2+ messages in thread

* bug#60790: [PATCH] gnu: Add cl-assimp.
  2023-01-13 21:44 [bug#60790] [PATCH] gnu: Add cl-assimp Sharlatan Hellseher
@ 2023-01-17 14:06 ` Guillaume Le Vaillant
  0 siblings, 0 replies; 2+ messages in thread
From: Guillaume Le Vaillant @ 2023-01-17 14:06 UTC (permalink / raw)
  To: Sharlatan Hellseher; +Cc: 60790-done

[-- Attachment #1: Type: text/plain, Size: 191 bytes --]

Hi,
I split the patch in 2 commits and added a workaround for the issue with
the ecl package. Pushed as 6393f01ab06cd5cb2976fcb0a46a28f17ac0fbea and
1428e20284e8ae40953000709bce974ee327eff0.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-01-17 14:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-13 21:44 [bug#60790] [PATCH] gnu: Add cl-assimp Sharlatan Hellseher
2023-01-17 14:06 ` bug#60790: " Guillaume Le Vaillant

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).